Difference between dict.items() and dict.iteritems() in Python - GeeksforGeeks

12 Dec, 2019
dict.items() and dict.iteriteams() almots does the same thing, but there is a slight difference between them –
dict.items(): returns a copy of the dictionary’s list in the form of (key, value) tuple pairs, which is a (Python v3.x) version, and exists in (Python v2.x) version.
dict.iteritems(): returns an iterator of the dictionary’s list in the form of (key, value) tuple pairs. which is a (Python v2.x) version and got omitted in (Python v3.x) version.
For Python2.x:
Example-1
# Python2 code to demonstrate# d.iteritems()    d ={  "fantasy": "harrypotter",  "romance": "me before you",  "fiction": "divergent"  }  # every time you run the object address keeps changesprint d.iteritems()
Output:
<dictionary-itemiterator object at 0x7f04628d5890>

To print the dictionary items, use a for() loop to divide the objects and print themExample-2
# Python2 code to demonstrate# d.iteritems()  d ={"fantasy": "harrypotter","romance": "me before you","fiction": "divergent"}  for i in d.iteritems():          # prints the items    print(i)
Output:
('romance', 'me before you')
('fantasy', 'harrypotter')
('fiction', 'divergent')

If we try to run the dict.items() in Python v2.x, it runs as dict.items() exists in v2.x.
Example-3
# Python2 code to demonstrate# d.items()    d ={  "fantasy": "harrypotter",  "romance": "me before you",  "fiction": "divergent"  }    # places the tuples in a list.print(d.items())  # returns iterators and never builds a list fully.print(d.iteritems())
Output:
[(‘romance’, ‘me before you’), (‘fantasy’, ‘harrypotter’), (‘fiction’, ‘divergent’)]<dictionary-itemiterator object at 0x7f1d78214890>
For Python3:
Example-1
# Python3 code to demonstrate# d.items()  d ={  "fantasy": "harrypotter",  "romance": "me before you",  "fiction": "divergent"  }  # saves as a copyprint(d.items())  
Output:
dict_items([(‘fantasy’, ‘harrypotter’), (‘fiction’, ‘divergent’), (‘romance’, ‘me before you’)])
If we try to run the dict.iteritems() in Python v3.x, we will ecounter with an error.
Example-2
# Python3 code to demonstrate# d.iteritems()    d ={  "fantasy": "harrypotter",  "romance": "me before you",  "fiction": "divergent"  }  print("d.items() in (v3.6.2) = ")for i in d.items():      # prints the items    print(i)  print("\nd.iteritems() in (v3.6.2)=")  for i in d.iteritems():      # prints the items    print(i)
Output:
d.items() in (v3.6.2) = 
('fiction', 'divergent')
('fantasy', 'harrypotter')
('romance', 'me before you')

d.iteritems() in (v3.6.2)=

Traceback (most recent call last):
  File "/home/33cecec06331126ebf113f154753a9a0.py", line 19, in 
    for i in d.iteritems():
AttributeError: 'dict' object has no attribute 'iteritems'

python-dict
Python
Technical Scripter
python-dict
Writing code in comment?
Please use ide.geeksforgeeks.org,
generate link and share the link here.
Comments
Old Comments
Python Dictionary
Read a file line by line in Python
Enumerate() in Python
How to Install PIP on Windows ?
Iterate over a list in Python
Different ways to create Pandas Dataframe
Python String | replace()
Python program to convert a list to string
Create a Pandas DataFrame from Lists
Reading and Writing to text files in Python