在Python3中dict.keys()
、dict.values()
、dict.items()
返回的都是视图对象,而不在是列表。视图对象可以看做是对字典开放的一个窗口,可以动态的反应字典的变化,也就是字典所做的改动在视图对象上都动态体现出来。
视图对象同样可迭代,当迭代keys和values期间字典没有发生变化的话,keys和values是相对应的。也就是说允许像这样创建(value, key)
对:
对于dict.keys()
返回的键视图对象来说是一个类似集合的对象,因为其中键元素是唯一的且可哈希,如果所有的values也是可哈希(通常来说都是不可哈希的因为字典的值不能保证唯一性)的话,那么整个(key,value)对也就是可哈希的,此时dict.values()
和dict.items()
也就是类似集合的对象。对于类似集合的对象来说,其支持集合定义的基本运算,如|
、&
、^
、-
、==
等。
举例如下: