【发布时间】:2020-05-11 21:17:21
【问题描述】:
我有一个列表列表:[['1','Kate','Green','North'],['2','John','Blue','North'],['3 ','简','Red','NorthSouth'],['4','Lewis','Blue','East']]
我想做一个字典:{'1': ['Kate','Green','North'], '2':['John','Blue','North'], '3' :['Jane','Red','NorthSouth'], 4:['Lewis','Blue','East']}
目前,我的代码是:
def li2dict(li):
final_dict = {}
for i in range(len(li)):
for j in range(len(li[j])):
roster_dict[li[j][0]] = li[j][k]
print(final_dict)
但是,我得到的只是:{'1':'North', '2':'North', '3':'NorthSouth', '4':'East'} 谁能帮我解决这个逻辑错误?
编辑 1:仅供参考,我不允许导入任何库。
编辑2:我也试过了:
roster_dict[contents[j][0]].append(contents[j][k])
但我明白了:
File "test.py", line 54, in <module>
main()
File "test.py", line 51, in main
li2dict([listinfo])
File "test.py", line 44, in li2dict
roster_dict[contents[j][0]].append(contents[j][k])
KeyError: '1'
【问题讨论】:
标签: python python-3.x list dictionary dictionary-comprehension