我試圖將元組列表(下面的例子z)轉換爲z1。 z中的前2項可以相同,因此將成爲結果字典中的通用字段。請在下面。我的嘗試也被顯示,但它沒有將常用元素分組?任何幫助?python列表的元組到列表的字典嵌套列表
FROM:
z= [(53, 'example 2', 2, 'instagram', 'nyc'),
(53, 'example 2', 5, 'instagram', 'detroit'),
(53, 'example 2', 7, 'twitter', 'harlem'),
(50, 'example 5', 8, 'twitter', 'harlem'),
(27, 'example 6', None, None, None),
]
TO:
z1=[
{'id': 53,
'name': 'example 2',
'hashtags': [ { 'tag_id': 2, 'platform': 'instagram', 'tagname': 'nyc' },
{ 'tag_id': 5, 'platform': 'instagram', 'tagname': 'detroit' },
{ 'tag_id': 7, 'platform': 'twitter', 'tagname': 'harlem' },
]
},
{'id': 50,
'name': 'example 2',
'hashtags': [ { 'tag_id': 8, 'platform': 'twitter', 'tagname': 'harlem' },
]
},
{'id': 27,
'name': 'example 6',
'hashtags': [ { 'tag_id': None, 'platform': None, 'tagname': None },
]
},
]
我嘗試:
ld = []
for a, b, c, d, e in z:
ld.append({ 'id': a,
'name': b,
'tag_id': c,
'hashtags': [{'platform': d, 'hashtag': e}, ]
})
print ld
輸出:
[
{'id': 53,
'name': 'example 2',
'hashtags': [ { 'tag_id': 2, 'platform': 'instagram', 'tagname': 'nyc' }]
},
{'id': 53,
'name': 'example 2',
'hashtags': [ { 'tag_id': 5, 'platform': 'instagram', 'tagname': 'detroit' }]
},
{'id': 53,
'name': 'example 2',
'hashtags': [ { 'tag_id': 7, 'platform': 'twitter', 'tagname': 'harlem' },]
},
{'id': 50,
'name': 'example 2',
'hashtags': [ { 'tag_id': 8, 'platform': 'twitter', 'tagname': 'harlem' },
]
},
{'id': 27,
'name': 'example 6',
'hashtags': [ { 'tag_id': None, 'platform': None, 'tagname': None },
]
},
]
不要忘記標記你最終使用的答案。 – Geoff