Dlaczego przesada dwóch słowników w języku python daje dziwne wyniki?

0

Pytanie

Przeżyłam klucze jednego słownika, znajduję ten sam klucz w drugim słowniku, a następnie staram się uzyskać pierwszą wartość z listy, związanego z kluczem w drugim słowniku. Kiedy patrzę prosto w drugiej słownika, to działa dobrze:

Kod:

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

ZWROT: 17.3245

To poprawnie. Ale gdy próbuję wyświetlić wszystkie klucze hud_data, powołując się na klucze innego słownika (UAV_data), mam dziwny wynik:

Kod:

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

To powinno prowadzić do tego samego. Pierwszy klucz w UAV_dict - "veh_1", więc kiedy rozpoczyna się drugi cykl for, on musi po prostu odzyskać to samo, 17.3245. Zamiast tego zwraca wszystkie wartości dla każdego klucza:

Zwrot: 17.3245 19.3003 22.2483 29.8077 35.86

Dlaczego wszystkie wartości dla każdego klucza są wyświetlane w danych wyjściowych? Jak muszę przepisać kod tak, aby dawał on tylko pierwszy wynik?

1

Najlepsza odpowiedź

0

Operator break zatrzymuje tylko wewnątrz pętli for. Kolejny cykl na UAV_dict.keys() nie ma wpływu

2021-11-24 02:23:19

Dobra, to dość głupie. Dziękuję. Ja spotkałem się z problemem w innym miejscu kodu, i pomyślałem, że jest to problem. Jest oczywiste, że wtedy ta część jest w porządku.
Michael Wish

W innych językach

Ta strona jest w innych językach

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