我有一本字典
graph = {'1': ['2', '21'],
'2': ['3', '1'],
'3': ['4', '2'],
'4': ['5', '3'],
'5': ['6', '4'],
'6': ['12', '5'],
'7': ['13', '8'],
'8': ['7', '9'],
'9': ['8', '10'],
'10': ['9', '11']}
我希望输出为
graph = {'1': set(['2', '21']),
'2': set(['3', '1']),
'3': set(['4', '2']),
'4': set(['5', '3']),
'5': set(['6', '4']),
'6': set(['12', '5']),
'7': set(['13', '8']),
'8': set(['7', '9']),
'9': set(['8', '10']),
'10': set(['9', '11'])}
我是python的新手,无法找到方法。我尝试过拉链但它会抛出不可用类型列表的错误。
答案 0 :(得分:4)
for k,v in graph.items():
graph[k] = set(v)
答案 1 :(得分:2)
您已经有了如何修改字典的答案。如果您需要新词典,可以使用理解。
{k:set(graph[k]) for k in graph}
或者
{k:set(v) for k,v in graph.iteritems()}
使用您认为更容易阅读的那个。如果您使用的是Python3,请使用items
代替iteritems
。