Pourquoi ne l'itération sur les deux dictionnaires en python rendement des résultats étranges?

0

La question

Je suis une itération à travers les clés d'un dictionnaire à l'autre, trouver la même clé dans un dictionnaire, puis en essayant de produire la première valeur de la liste associée à la clé dans le dictionnaire. Quand je regarde directement dans le dictionnaire, il fonctionne très bien:

Code:

for data in hud_data.get('veh_1'):
     print(data[0])

Retourne: 17.3245

Cela est correct. Mais quand j'ai essayer de courir à travers toutes les clés de hud_data par le référencement sur les touches d'un autre dictionnaire (UAV_data), j'obtiens un résultat étrange:

Code:

for a_key in UAV_dict.keys():
    # print(a_key)
    for data in hud_data.get(a_key):
        print(data[0])
        break

Cela devrait produire exactement la même chose. La première clé de UAV_dict est "veh_1", de sorte que lors de la deuxième boucle for s'exécute, il doit juste renvoyer la même chose, 17.3245. Au lieu de cela, il renvoie toutes les valeurs pour chaque clé:

Retour: 17.3245 19.3003 22.2483 29.8077 35.86

Pourquoi toutes les valeurs pour chaque clé dans la production? Comment dois-je ré-écrire le code pour qu'il ne produit le premier résultat?

1

La meilleure réponse

0

Votre instruction break ne s'arrête que l'intérieur de la boucle. L'autre boucle sur UAV_dict.les touches() n'est pas affectée

2021-11-24 02:23:19

Ok, c'est assez ridicule. Merci. J'ai été en cours d'exécution dans un problème ailleurs dans le code et j'ai pensé que c'était le problème. Évidemment, cette partie est ok alors.
Michael Wish

Dans d'autres langues

Cette page est dans d'autres langues

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................