Python'da iki sözlükte yineleme yapmak neden garip sonuçlar veriyor?

0

Soru

Bir sözlüğün anahtarlarını yineliyorum, ikinci bir sözlükte aynı anahtarı buluyorum, ardından ikinci sözlükteki anahtarla ilişkili listenin ilk değerini üretmeye çalışıyorum. Doğrudan ikinci sözlüğe baktığımda iyi çalışıyor:

Kod:

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

Dönüşler: 17.3245

Bu doğru mu? Ancak, başka bir sözlüğün (UAV_data) tuşlarına başvurarak hud_data'nın tüm anahtarlarını çalıştırmaya çalıştığımda garip bir sonuç alıyorum:

Kod:

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

Bu tam olarak aynı şeyi üretmelidir. UAV_dict içindeki ilk anahtar 'veh_1' dir, bu nedenle ikinci for döngüsü çalıştığında, aynı şeyi 17.3245 döndürmelidir. Bunun yerine, her anahtar için tüm değerleri döndürür:

Geri dönüş: 17.3245 19.3003 22.2483 29.8077 35.86

Çıktıda her anahtarın tüm değerleri neden gösteriliyor? Kodu yalnızca ilk sonucu üretecek şekilde nasıl yeniden yazmalıyım?

1

En iyi cevabı

0

Break deyiminiz yalnızca iç for döngüsünü durdurur. UAV_dict üzerindeki diğer döngü.keys() etkilenmez

2021-11-24 02:23:19

Tamam, bu çok aptalca. Teşekkürler. Kodun başka bir yerinde bir sorunla karşılaşıyordum ve sorunun bu olduğunu düşündüm. Açıkçası bu kısım tamam o zaman.
Michael Wish

Diğer dillerde

Bu sayfa diğer dillerde

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