What is the difference between dict.items() and dict.iteritems() in Python2?

In Python 2, dict.items() returns a list of the dictionary's key-value pairs, whereas dict.iteritems() returns an iterator over the dictionary's key-value pairs.

Watch a course Python - The Practical Guide

Here is an example:

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

# Using items()
print(d.items())  # Output: [('a', 1), ('b', 2), ('c', 3)]

# Using iteritems()
for key, value in d.iteritems():
    print(key, value)
# Output:
# a 1
# b 2
# c 3

The main difference is that items() returns a list and iteritems() returns an iterator. This can have implications in terms of memory usage and performance, depending on the size of the dictionary and how you plan to use the key-value pairs. Using iteritems() can be more memory efficient if you are working with a large dictionary and only need to iterate through the items once.