Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг
07 Июл 2023
2 мин
969

Различия между dict.items() и dict.iteritems() в Python 2

В Python 2, при работе со словарями (dict), часто возникает необходимость обращаться к парам ключ-значение. Для этого существуют два метода: dict.items() и dict.iteritems().

В Python 2, при работе со словарями (dict), часто возникает необходимость обращаться к парам ключ-значение. Для этого существуют два метода: dict.items() и dict.iteritems().

Вот простой пример использования этих методов:

dictionary = {1: 'a', 2: 'b', 3: 'c'}

for key, value in dictionary.items():
    print(key, value)

for key, value in dictionary.iteritems():
    print(key, value)

В обоих случаях результатом будет вывод пар ключ-значение словаря. В чем же разница?

dict.items() возвращает копию списка пар ключ-значение словаря. Это означает, что при работе с большими словарями этот метод может занять значительное количество памяти, так как он создает полную копию всех элементов словаря.

dictionary = {1: 'a', 2: 'b', 3: 'c'}
items = dictionary.items()
print(items)  # [(1, 'a'), (2, 'b'), (3, 'c')]

dict.iteritems(), в отличие от предыдущего метода, возвращает итератор — объект, который позволяет по очереди проходить элементы коллекции, не загружая их все в память сразу. Это делает dict.iteritems() более эффективным при работе с большими словарями.

dictionary = {1: 'a', 2: 'b', 3: 'c'}
iteritems = dictionary.iteritems()
print(iteritems)  # <dictionary-itemiterator object at 0x7f315cddc850>

Важно упомянуть, что в Python 3 метод dict.iteritems() был удален, а dict.items() теперь возвращает итератор, а не список, что делает его таким же эффективным, как и dict.iteritems() в Python 2.

Добавить комментарий