The objects returned by dict.keys()
, dict.values()
and dict.items()
are view objects.
They provide a dynamic view on the dictionary’s entries, which means that when the dictionary changes, the view reflects these changes.
iter(dictview)
can be used to get an iterator. See the following example:
In [1]: d = {'foo': 'bar'}
In [2]: i = iter(d.values())
In [3]: next(i)
Out[3]: 'bar'
In [4]: next(i)
---------------------------------------------------------------------------
StopIteration Traceback (most recent call last)
Cell In [4], line 1
----> 1 next(i)
StopIteration: