🔑 Что возвращает метод items() в Python?
Метод items() у словаря в Python возвращает специальный объект представления — dict_items. Этот объект содержит все пары ключ–значение, которые находятся в словаре на момент вызова метода. Главное, что стоит понимать — это не копия данных, а динамическое отображение текущего состояния словаря.
➡️ То есть, если после вызова items() словарь изменится (например, будут добавлены новые элементы или удалены существующие), это сразу отразится и на объекте items().
Пример:
d = {'a': 1, 'b': 2}
pairs = d.items()
print(pairs) # dict_items([('a', 1), ('b', 2)])
d['c'] = 3
print(pairs) # dict_items([('a', 1), ('b', 2), ('c', 3)])
Это поведение делает items() очень удобным для просмотра и итерации по словарю, но важно помнить об осторожности при изменении словаря во время обхода — это может вызвать RuntimeError, так как структура данных меняется в процессе итерации.
Также объекты, возвращаемые items(), поддерживают несколько стандартных операций:
➡️ iter(d.items()) — можно получить итератор по парам ключ-значение
➡️ len(d.items()) — вернёт общее число пар в словаре
➡️ (k, v) in d.items() — позволяет проверить, содержится ли конкретная пара ключ-значение в словаре
🌸 В Python 2.7 аналогичную функцию выполняет метод viewitems(), но начиная с Python 3, items() уже по умолчанию возвращает объект-представление.
Библиотека собеса по Python