De ce nu iterarea prin două dicționare în python randament rezultate ciudate?

0

Problema

Sunt iterarea prin tastele de un dicționar, găsirea aceeași cheie într-un al doilea dicționar, apoi încearcă pentru a produce prima valoare din lista asociată cu cheia în cea de-a doua dicționar. Când mă uit direct în cel de-al doilea dicționar funcționează bine:

Cod:

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

Se întoarce: 17.3245

Acest lucru este corect. Dar când am încercat pentru a rula prin toate cheile de hud_data prin corelarea cheile de un alt dicționar (UAV_data), am obține un rezultat ciudat:

Cod:

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

Acest lucru ar trebui să producă exact același lucru. Prima cheie în UAV_dict este 'veh_1', astfel încât atunci când cel de-al doilea pentru bucla ruleaza, ar trebui să se întoarcă la același lucru, 17.3245. În loc returnează toate valorile pentru fiecare cheie:

Retur: 17.3245 19.3003 22.2483 29.8077 35.86

De ce sunt toate valorile pentru fiecare cheie să apară în producția? Cum ar trebui să re-scrie codul, astfel încât se produce doar primul rezultat?

1

Cel mai bun răspuns

0

Pauza declarație se oprește doar la interior pentru buclă. Pe de altă buclă pe UAV_dict.tastele() nu este afectată

2021-11-24 02:23:19

Ok, asta e destul de aiurea. Multumesc. Am fost difuzate într-o problemă în altă parte în cod și am crezut că asta a fost problema. Evident, această parte este ok, atunci.
Michael Wish

În alte limbi

Această pagină este în alte limbi

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