listim=[['1' ,'2'], ['3' , '4'], ['1', '5'], ['4', '1']]
我正在尝试使用listim为每个数字制作字典,
我希望d = {' 1':2,4,5,' 2':1,' 3':4,(.. 。等等)}
我的代码是(我无法找到错误,但可能是关于词典):
a=1
dic={}
while a<6:
for number in listim:
if number[0]==a:
if number[1] not in dic[a]:
dic[a].append(number[1])
elif number[1]==a:
if number[0] not in dic[a]:
dic[a].append(number[0])
a+=1
我无法在网上找到足够的信息,(我知道我可以)。我希望我很清楚。谢谢
答案 0 :(得分:1)
让我们使用list作为工厂从集合中使用defaultdict
:
from collections import defaultdict
d = defaultdict(list)
listim=[['1' ,'2'], ['3' , '4'], ['1', '5'], ['4', '1']]
for i in listim:
d[i[0]].append(int(i[1]))
dict(d)
输出:
{'1': [2, 5], '3': [4], '4': [1]}
答案 1 :(得分:-1)
dic = {}
for k,v in listim:
dic[k] = int(v)
甚至更短:
dic = {k:int(v) for k,v in listim}