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

19
C. P. Wagner 8 mars 2016 à 12:48

3 réponses

Meilleure réponse

Vous pouvez simplement parcourir les indices des range des 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.

27
MSeifert 8 mars 2016 à 10:03
use=[{'id': 29207858, 'isbn': '1632168146', 'isbn13': '9781632168146', 'ratings_count': 0}]
for dic in use:
    for val,cal in dic.items():
        print(f'{val} is {cal}')
0
MSeifert 28 mai 2019 à 19:21

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.

4
Avihoo Mamka 8 mars 2016 à 09:53