我正在尝试使用数据集创建广度优先搜索。我需要遍历数据集,但我不知道如何遍历包含列表的字典列表。
我知道要获得说node 2
秒值,我会a[1]['node2][1]
。但是,我不确定如何遍历每个名称。
这不是实际的代码,但我想要类似的东西:
for key_of_dict in a:
print key_of_dict
for j in a[key_of_dict]
print ": " + j
#This pseudo code should print the key and the data in the list of the respective dict
例如:
a =
[
{'node1':[1,2,3]},
{'node2':[4,5,6]},
{'node3':[7,8,9]},
{'node4':['a','b','c']}
]
答案 0 :(得分:1)
只需遍历dict.values()
:
for d in a:
for v in d.values():
print(v)
演示:
>>> for d in a:
for v in d.values():
print(*v)
1 2 3
4 5 6
7 8 9
a b c
或者只打印v
:
[1, 2, 3]
[4, 5, 6]
[7, 8, 9]
['a', 'b', 'c']
要获取密钥,请遍历d.items()
,这将返回字典的键值对。
希望这有帮助!
答案 1 :(得分:1)
a = [{'node1':[1,2,3]},
{'node2':[4,5,6]},
{'node3':[7,8,9]},
{'node4':['a','b','c']}]
python 2.7:
for dict in a:
for key,list in dict.iteritems():
print '{} : {}'.format(key,list)
python 3:
for dict in a:
for key,list in dict.items():
print('{} : {}'.format(key,list))
输出:
node1 : [1, 2, 3]
node2 : [4, 5, 6]
node3 : [7, 8, 9]
node4 : ['a', 'b', 'c']