2016-03-08 180 views
1
列表

我的代码是的Python 3.5迭代通过字典

index = 0 
for key in dataList[index]: 
    print(dataList[index][key]) 

似乎做工精细印刷字典键的值指数= 0

但对我的生活,我可以”牛逼找出如何通过未知号码字典把这个for循环里面一个for循环迭代中dataList

+0

不,请不要使用迭代计数器,除非你绝对必须。虽然这是解决这个问题的办法,但它不是最好的。 –

回答

1

你可以只遍历的lenrange的索引你的list

dataList = [{'a': 1}, {'b': 3}, {'c': 5}] 
for index in range(len(dataList)): 
    for key in dataList[index]: 
     print(dataList[index][key]) 

或者你可以使用带有index柜台while循环:

dataList = [{'a': 1}, {'b': 3}, {'c': 5}] 
index = 0 
while index < len(dataList): 
    for key in dataList[index]: 
     print(dataList[index][key]) 
    index += 1 

你甚至可以只是直接遍历列表中的元素:

dataList = [{'a': 1}, {'b': 3}, {'c': 5}] 
for dic in dataList: 
    for key in dic: 
     print(dic[key]) 

这可能是即使没有任何查询仅通过遍历字典的值:

dataList = [{'a': 1}, {'b': 3}, {'c': 5}] 
for dic in dataList: 
    for val in dic.values(): 
     print(val) 

或包裹一个列表理解或发电机内的迭代和后解压它们:

dataList = [{'a': 1}, {'b': 3}, {'c': 5}] 
print(*[val for dic in dataList for val in dic.values()], sep='\n') 

的可能性是无止境的。这是你喜欢的选择问题。

0

您可以轻松地做到这一点:

for dict_item in dataList: 
    for key in dict_item: 
    print dict_item[key] 

它将遍历列表,并且对于列表中的每个字典,它将迭代键并打印其值。