gpt4 book ai didi

python - dict_keys 是生成器函数吗?

转载 作者:行者123 更新时间:2023-11-30 23:34:19 25 4
gpt4 key购买 nike

>>> d = {'m': 'mango', 'f': 'fish', 'a': 'apple'}
>>> d
{'m': 'mango', 'f': 'fish', 'a': 'apple'}
>>> d.keys()
dict_keys(['m', 'f', 'a'])
>>> for x in d.keys(): print(x)
m
f
a
>>> |

什么是 dict_keys() 以及如何在方法中重写它(__iter__被覆盖)?

最佳答案

dict_keys()dictionary view object ;这些对象是 iterables (这意味着您可以使用 iterators 为此类对象创建多个独立的 iter() )。

您可以从 .keys() 方法返回您自己的此类对象的实现。 dict.keys() 返回的特定类型不可重复使用,您必须从头开始实现自己的类型。

我在 previous answer 中介绍了创建您自己的内容;有相当多的方法需要涵盖。

请注意generator functions只是一种使用 Python 函数创建迭代器的技术。所有生成器函数在调用时都会生成迭代器,但并非所有迭代器都是生成器迭代器。您还可以使用生成器表达式或通过包含__iter__ method that returns self来创建迭代器。和一个__next__ method每次调用时都会生成其中一项。

关于python - dict_keys 是生成器函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18210003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com