dict.viewkeys()返回的数据类型是什么? [python 2.7]

dict.viewkeys()返回的数据类型是什么? [python 2.7],第1张

概述我今天正在学习dict.viewkeys(),我发现我的 python称它为dict_keys对象.我可以将它作为一个可迭代的处理,但它不是一个生成器,因为我可以不止一次迭代它. 根据我的有限知识,我只知道一些数据类型,如String,int,float,list,dict,tuple,set. 但昨天我了解到enumerate()返回一个特殊的数据对,dict()只能使用一次,因此它是一个特殊的 我今天正在学习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,500]>>> # vIEw objects are dynamic and reflect dict changes>>> del dishes['eggs']>>> del dishes['sausage']>>> List(keys)['spam','bacon']>>> # set operations>>> keys & {'eggs','salad'}{'bacon'}

另见:What are Python dictionary view objects?

总结

以上是内存溢出为你收集整理的dict.viewkeys()返回的数据类型是什么? [python 2.7]全部内容,希望文章能够帮你解决dict.viewkeys()返回的数据类型是什么? [python 2.7]所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1207081.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-04
下一篇 2022-06-04

发表评论

登录后才能评论

评论列表(0条)

保存