我dict.viewkeys()
今天在学习,我发现我的python称它为dict_keys
对象.我可以将它作为一个可迭代的处理,但它不是一个生成器,因为我可以不止一次迭代它.
根据我的有限知识,我只知道一些数据类型,如String,int,float,list,dict,tuple,set.
但昨天我学会了enumerate()
返回一个特殊的数据对,只能使用dict()
一次,因此它是一个特殊的元组生成器,具有(index_of_iteration, item)
价值
这个dict_keys
对象是另一个"我不知道究竟是什么,但我知道如何使用它"在python中的对象类型,还是其他什么?
它返回一个字典视图对象(https://docs.python.org/2/library/stdtypes.html#dictionary-view-objects).
这是字典中元素的动态视图.即如果您对字典中的键有一个视图,如果从字典中删除一个键,它也将从视图中删除.请参阅以下示例.
来自文档:
>>> dishes = {'eggs': 2, 'sausage': 1, 'bacon': 1, 'spam': 500}
>>> keys = dishes.viewkeys()
>>> values = dishes.viewvalues()
>>> # iteration
>>> n = 0
>>> for val in values:
... n += val
>>> print(n)
504
>>> # keys and values are iterated over in the same order
>>> list(keys)
['eggs', 'bacon', 'sausage', 'spam']
>>> list(values)
[2, 1, 1, 500]
>>> # view objects are dynamic and reflect dict changes
>>> del dishes['eggs']
>>> del dishes['sausage']
>>> list(keys)
['spam', 'bacon']
>>> # set operations
>>> keys & {'eggs', 'bacon', 'salad'}
{'bacon'}
Run Code Online (Sandbox Code Playgroud)
另请参阅:什么是Python字典视图对象?
归档时间: |
|
查看次数: |
8246 次 |
最近记录: |