字典分配
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
我无法找到网页上的足够的信息, (我知道我可以)。我希望我很清楚。谢谢
回答:
dic = {} for k,v in listim:
dic[k] = int(v)
甚至更短:
dic = {k:int(v) for k,v in listim}
回答:
让我们用列表作为工厂使用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]}
以上是 字典分配 的全部内容, 来源链接: utcz.com/qa/267375.html