将元组对排列成字典?

时间:2016-05-06 21:20:19

标签: python

我正在尝试搜索元组中的每个数字,并将其另一对作为值放在列表中

给出了节点数但我没有使用它

我不明白这个错误,我该如何解决?

nodes_number = 4
dic = defaultdict(list)
my_list = [(0,1),(1,2),(3,1)] 
for i in my_list:
    dic[i[0]].append(i[1])
return dic

我的代码输出

{0: [1], 1: [2], 3: [1]}

需要输出

{0: [1], 1: [0, 2, 3], 2: [1], 3: [1]}

2 个答案:

答案 0 :(得分:2)

你忘了添加每对的反面。

答案 1 :(得分:2)

确保同时添加(x,y)和(y,x):

dic = defaultdict(list)
my_list = [(0,1),(1,2),(3,1)] 
for x, y in my_list:
    dic[x].append(y)
    dic[y].append(x)