Python 来自用户的输出字典不正确';s输入
我需要输出的形式Python 来自用户的输出字典不正确';s输入,python,python-2.7,python-3.x,dictionary,graph,Python,Python 2.7,Python 3.x,Dictionary,Graph,我需要输出的形式 {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), {}).set
{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
输入
第1行:忽略N=4
,而C=4
是行数。第二行:
i
,j
是顶点,w
是边权重
4 4
0 1 11
0 2 13
1 0 11
1 3 14
您正在将列表设置为下一行嵌套字典中的值-
graph.setdefault(int(i), {}).setdefault(int(j),[]).append(w)
这就是为什么要在列表中获取值,如果100%确定嵌套字典中的key:value对始终是唯一的,那么只需将值设置为key即可。范例-
graph.setdefault(int(i), {})[int(j)] = w