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