4 回答
TA贡献1828条经验 获得超4个赞
一个带有defaultdict
should do 的简单循环:
from collections import defaultdict
d = defaultdict(list)
for k,l in abc:
d[k].append(l)
print(d)
defaultdict(list,
{'1': [('1A', '1B', '1C'), ('1D', '1E', '1F')],
'2': [('2A', '2B', '2C'), ('2D', '2E', '2F')],
'3': [('3A', '3B', '3C')]})
或者如果你想使用 python 的,如果键不存在,dict你可以设置一个空列表作为默认值,然后:setdefaultappend
d = dict()
for k,l in abc:
d.setdefault(k, []).append(l)
TA贡献1862条经验 获得超7个赞
迭代循环并将键、值对添加到主字典中。
可能有一种更优雅的方法来做到这一点,但我认为简单的 for 循环更明确。
abc=[["1",("1A",'1B','1C')], ['1',('1D','1E','1F')], ['2',('2A','2B','2C')], ['2',('2D','2E','2F')], ["3",('3A','3B','3C')]]
main = {}
for item in abc:
if item[0] not in main:
main[item[0]] = [item[1]]
else:
main[item[0]].append(item[1])
TA贡献1844条经验 获得超8个赞
尝试这个:
main = {}
for x in abc:
if x[0] not in main:
main[x[0]] = []
main[x[0]].append(x[1])
添加回答
举报