Mon code est
index = 0
for key in dataList[index]:
print(dataList[index][key])
Semble fonctionner correctement pour imprimer les valeurs des clés de dictionnaire pour l'index = 0.
Mais pour la vie de moi, je ne peux pas comprendre comment mettre cela pour une boucle dans une boucle qui itère à travers le nombre inconnu de dictionnaires dans dataList
Vous pouvez simplement parcourir les indices du range
du len
de votre list
:
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for index in range(len(dataList)):
for key in dataList[index]:
print(dataList[index][key])
ou vous pouvez utiliser une boucle while avec un compteur index
:
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
index = 0
while index < len(dataList):
for key in dataList[index]:
print(dataList[index][key])
index += 1
vous pouvez même simplement parcourir les éléments de la liste directement:
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for dic in dataList:
for key in dic:
print(dic[key])
Cela pourrait être même sans recherche en itérant simplement les valeurs des dictionnaires:
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
for dic in dataList:
for val in dic.values():
print(val)
Ou encapsulez les itérations dans une liste de compréhension ou un générateur et décompressez-les plus tard:
dataList = [{'a': 1}, {'b': 3}, {'c': 5}]
print(*[val for dic in dataList for val in dic.values()], sep='\n')
les possibilités sont infinies. C'est une question de choix ce que vous préférez.
Vous pouvez facilement le faire:
for dict_item in dataList:
for key in dict_item:
print dict_item[key]
Il itérera sur la liste et pour chaque dictionnaire de la liste, il itérera sur les clés et imprimera ses valeurs.