Perché l'iterazione attraverso due dizionari in python rendimento dei risultati strani?

0

Domanda

Io sono l'iterazione attraverso le chiavi di un dizionario, di trovare la stessa chiave in un secondo dizionario, e poi cercando di produrre il primo valore della lista associata con la chiave, secondo il dizionario. Quando guardo direttamente in seconda dizionario funziona benissimo:

Codice:

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

Restituisce: 17.3245

Questo è corretto. Ma quando cerco di eseguire tutte le chiavi di hud_data facendo riferimento ai tasti di un altro dizionario (UAV_data), ho uno strano risultato:

Codice:

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

Questo dovrebbe produrre esattamente la stessa cosa. La prima chiave UAV_dict è 'veh_1', in modo che quando il secondo ciclo for viene eseguito, dovrebbe restituire la stessa cosa, 17.3245. Invece restituisce tutti i valori per ogni chiave:

Ritorno: 17.3245 19.3003 22.2483 29.8077 35.86

Perché sono tutti i valori per ogni tasto che mostra in output? Come devo ri-scrivere il codice in modo che esso produce solo il primo risultato?

1

Migliore risposta

0

La vostra istruzione break interrompe solo il ciclo for interno. L'altro ciclo UAV_dict.keys() non è interessato

2021-11-24 02:23:19

Ok, è abbastanza stupido. Grazie. Sono stato in esecuzione in un problema altrove nel codice e ho pensato che questo era il problema. Ovviamente questa parte è ok, poi.
Michael Wish

In altre lingue

Questa pagina è in altre lingue

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