Почему перебор двух словарей в python дает странные результаты?

0

Вопрос

Я перебираю ключи одного словаря, нахожу тот же ключ во втором словаре, затем пытаюсь получить первое значение списка, связанного с ключом во втором словаре. Когда я смотрю прямо во второй словарь, он отлично работает:

Код:

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

ВОЗВРАТ: 17.3245

Это правильно. Но когда я пытаюсь просмотреть все ключи hud_data, ссылаясь на ключи другого словаря (UAV_data), я получаю странный результат:

Код:

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

Это должно привести к тому же самому. Первый ключ в UAV_dict - "veh_1", поэтому, когда запускается второй цикл for, он должен просто вернуть то же самое, 17.3245. Вместо этого он возвращает все значения для каждого ключа:

Возврат: 17.3245 19.3003 22.2483 29.8077 35.86

Почему все значения для каждого ключа отображаются в выходных данных? Как я должен переписать код так, чтобы он давал только первый результат?

1

Лучший ответ

0

Ваш оператор break останавливает только внутренний цикл for. Другой цикл на UAV_dict.keys() не влияет

2021-11-24 02:23:19

Ладно, это довольно глупо. Спасибо. Я столкнулся с проблемой в другом месте кода, и я подумал, что это проблема. Очевидно, что тогда эта часть в порядке.
Michael Wish

На других языках

Эта страница на других языках

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