Proč iterace přes dva slovníky v pythonu výnos podivné výsledky?

0

Otázka

Jsem iterace klíče z jednoho slovníku, najít stejný klíč, v druhém slovníku, a pak se snaží vyrábět první hodnotu seznamu související s klíčem v druhém slovníku. Když se podívám přímo do druhé slovník to funguje:

Kód:

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

Vrací: 17.3245

To je správné. Ale když se snažím spustit přes všechny klíče hud_data odkazování na klíče z jiného slovníku (UAV_data), mám divný výsledek:

Kód:

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

To by mělo produkovat přesně to samé. První klíč v UAV_dict je veh_1', takže když druhý pro smyčce běží, je třeba jen vrátit stejnou věc, 17.3245. Místo toho vrátí všechny hodnoty pro každý klíč:

Návrat: 17.3245 19.3003 22.2483 29.8077 35.86

Proč jsou všechny hodnoty pro každý klíč, který se objeví v výstup? Jak bych re-psát kód tak, že se vyrábí pouze první výsledek?

1

Nejlepší odpověď

0

Vaše přestávka prohlášení pouze zastaví vnitřní smyčky. Druhou smyčku na UAV_dict.klíče() není ovlivněna

2021-11-24 02:23:19

Ok, to je docela hloupé. Díky. Utíkal jsem do problému, jinde v kódu a myslel jsem, že to byl ten problém. Samozřejmě tato část je ok.
Michael Wish

V jiných jazycích

Tato stránka je v jiných jazycích

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