Итерация в функции происходит только один раз

Рейтинг: 1Ответов: 1Опубликовано: 20.03.2023

Почему итерация происходит в функции только один раз? Выдает только первый ключ и его значение. Вне функции итерация происходит полностью

def dict_ru(my_dict):
    for item in my_dict.items():
        return item


my_di = {'name': 'pavel', '34': '123'}


print(dict_ru(my_di))

Ответы

▲ 3

Посмотрите для примера такой код:

def dict_ru(my_dict):
    for item in my_dict.items():
        yield item

my_di = {'name': 'pavel', '34': '123'}

print(*dict_ru(my_di))

Вывод:

('name', 'pavel') ('34', '123')

return сразу прекращает работу функции, используйте yield, чтобы вернуть несколько результатов, и *, чтобы проитерироваться по всем этим результатам.