@NeJunior

Может ли оператор In объединить 3 словаря в один?

Есть задача: напишите программу для слияния нескольких словарей в один. Также есть вариант решения, которым я и воспользовался. Допустим, вот наши словари:

dict_a = {1:10, 2:20}
dict_b = {3:30, 4:40}
dict_c = {5:50, 6:60}

result = {}
for d in (dict_a, dict_b, dict_c):
    result.update(d)

В решении задачи есть строчка for d in (dict_a, dict_b, dict_c):. И мне интересно, неужели оператор In сразу выполняет сложение этих трёх словарей? Или что-то другое объединяет 3 словаря в один?
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@twistfire92
Python backend developer
Во-первых вопрос нужно оформлять по правилам ресурса. Код оборачивать в соответствующий тег.

По вопросу:
у вас словари никак не складываются. Вы вызываете проход по кортежу из этих словарей. Переменная d принимает значение каждого следующего словаря на следующей итерации цикла for.

Все равно, что вывести в консоль значения переменных по очереди.

for i in (a, b, c):
    print(i)


переменные a b c не складываются, а просто перебираются по очереди

А в вашем случае 3 словаря в один объединяет метод update(), который вызывается по очереди с каждым словарем в качестве параметра.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы