Python 如何在值为数组的字典中循环

Python 如何在值为数组的字典中循环,python,Python,我想在一个以数组为值的字典中循环,并获取数组的每个元素。我该怎么做?我试过了,但没用: 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 通过从d.values()中提取每个项目,可以获得所有值的完整列表。 d = {'S

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

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

通过从
d.values()中提取每个项目,可以获得所有值的完整列表。

d = {'Secretary' : [0,1,2,3,4] , 'Admin' : [0,2,3,4,1]}
l = [i for v in d.values() for i in v]
# [0, 1, 2, 3, 4, 0, 2, 3, 4, 1]
扩大

l = []
for v in d.values():
    for i in v:
        l.append(i)

你的基本想法是对的。有几种方法可以做到这一点。我建议阅读dict、enum和list类的py文档;使用所有这些方法创建解决方案;并记录您的代码,解释每一个代码发生了什么。这听起来有点“冒失”,对此我深表歉意,但了解如何阅读/使用这些信息很重要

至于修复代码段中的错误:

a_dict={'Secretary' : [0,1,2,3,4] , 'Admin' : [0,2,3,4,1]} #because this is a dict OF arrays.

for key,value in a_dict.items(): #what this does. (hint, use the word tuple)  
    count = 0 #initialize the value of count to 0  
    while count < len(value):
        print(value[count])
        count =count+1
     count = 0 #reset the value of count to 0
还有一个:

a_dict={'Secretary' : [0,1,2,3,4] , 'Admin' : [0,2,3,4,1]} #because this is a dict OF arrays.
for values in a_dict.values(): #what this does. (hint, method from dict class)
    for idx in range(len(values)): #code comments are very useful        
        print(values[idx])
还有一个原因是:

a_dict={'Secretary' : [0,1,2,3,4] , 'Admin' : [0,2,3,4,1]} #because this is a dict OF arrays.
for key in a_dict.keys(): #what this does. (hint, method from dict class)
    vals = a_dict.get(key)          
    for idx,value in enumerate(vals): #code comments are very useful        
        print(key + ':', value, '\n')

如果你正在努力理解文档,那么这就是你应该寻求帮助的地方。只需具体说明你不理解的内容,并坚持下去。你不会总是觉得你需要一本如何理解手册的手册。然而,这只是python。这与Django无关

似乎您正试图使用
count
作为索引器。但是,当您为每个字典值迭代每个列表的元素时,这是不必要的。此外,对于仅迭代值,可以使用
dict.values
视图。因此,您可以使用:

for value in array.values():
    for v in value:
        print(v)
如果希望创建一个组合所有列表值中所有元素的列表,可以使用:


你想做什么还不清楚。什么是
count
count
在这里没有作用,似乎您只想打印值。在这种情况下,只需对值中的v使用
:print(v)
count即可获得用于打印数据的索引elements@Boutros:打印元素时,索引不需要额外变量
对于值中的v:打印(v)
就足够了,除非您想对indexEnum执行其他操作?你的缩进都是乱七八糟的数组和列表在PythonGood catch about中是不能互换的术语Django@MadPhysicist这与假设OP只想打印出值一样重要,而唯一需要问的是如何迭代每个值。事实是,我们不知道字典里的条目会发生什么。我也不能(阅读将不会)假设OP在发布这个问题之前做了什么研究,或者具体误解了什么。这不是我的懒惰。已经有很多很好的解释了。其中一些由用户在stackoverflow上提供。
for value in array.values():
    for v in value:
        print(v)
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]