What are dict_keys, dict_items and dict_values?

前端 未结 1 1839
遇见更好的自我
遇见更好的自我 2020-12-01 09:47

I came across these three types when I used collections.Counter\'s viewkeys(), viewitems() and viewvalues() methods.

The values those three methods retu

相关标签:
1条回答
  • 2020-12-01 09:49

    The What's new in 2.7 document is one place these are introduced. These "views" were introduced (proposed here) for Python 3 (and backported to 2.7, as you've seen) to serve as a best-of-all-worlds for the pieces of the dict they refer to.

    Before we had the keys/values/items methods which simply made lists. This wastes memory by copying the dict's information and we had the iterkeys/itervalues/iteritems methods that didn't waste this memory but weren't very featureful (the only thing you could do is iterate over them, and you could only do so once). These new views have logical features, such as set operations, efficient comparison, and being iterable multiple times.

    0 讨论(0)
提交回复
热议问题