Метод
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