我需要输出格式为
{0: {1:11,2:13}, 1: {0:11,3:14}}
但它出现了
{0: {1:['11'],2:['13']}, 1: {0:['11'],3:['14']}}
使用此
graph = {}
N,w = map(int,raw_input().split())
# print N, w
for x in range(0,C):
i,j,c = raw_input().split()
graph.setdefault(int(i), {}).setdefault(int(j),[]).append(w)
print graph
INPUT上的
第1行:忽略N=4
,而C=4
是行数
第二行:i
,j
是顶点,w
是边权重。
4 4
0 1 11
0 2 13
1 0 11
1 3 14
答案 0 :(得分:3)
您在以下行中将列表设置为嵌套字典中的值 -
graph.setdefault(int(i), {}).setdefault(int(j),[]).append(w)
这就是你在列表中获取值的原因,如果你100%确定嵌套字典中的键:值对总是唯一的,那么你可以简单地将值设置为键。示例 -
graph.setdefault(int(i), {})[int(j)] = w