首页 > 解决方案 > 如何在具有数组值的字典中循环

问题描述

我想在以数组为值的字典中循环并获取数组的每个元素。我怎么做?我试过了,但没有用:

array = {'Secretary' : [0,1,2,3,4] , 'Admin' : [0,2,3,4,1]}

for key,value in array.items():
    for v in value:
        print(v[count])
        count = count + 1

标签: python

解决方案


看来您正在尝试count用作索引器。但是,如果您为每个字典值迭代每个列表的元素,这不是必需的。此外,对于迭代值,您可以使用dict.values视图。所以你可以使用:

for value in array.values():
    for v in value:
        print(v)

如果您希望创建一个组合所有列表值中的所有元素的列表,您可以使用itertools.chain

from itertools import chain

array = {'Secretary' : [0,1,2,3,4] , 'Admin' : [0,2,3,4,1]}

res = list(chain.from_iterable(array.values()))

[0, 1, 2, 3, 4, 0, 2, 3, 4, 1]

推荐阅读