字典分配

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

回到顶部