gpt4 book ai didi

Python - 实现 __iter__ 或返回列表的 __iter__

转载 作者:IT老高 更新时间:2023-10-28 21:02:05 24 4
gpt4 key购买 nike

我正在实现本质上是一个容器对象(尽管它确实有一些自己的逻辑)。我希望能够迭代此类(这只是一个普通列表)中的一个字段中的项目。我应该为我的类(class)重新实现 __iter__next 还是可以接受返回列表的迭代器,如下所示:

class X:

def __init__(self):
self.list = []

def __iter__(self):
return self.list.__iter__()

我有点不确定这是否会导致任何不良行为。

最佳答案

使用内置list类型的迭代器即可。不过,我建议不要显式调用 __iter__(),而是使用内置函数 iter():

def __iter__(self):
return iter(self.list)

另一个选项可能是从 list 派生 X。 (在 Python 2.x 中,您至少应该从 object 派生。)

关于Python - 实现 __iter__ 或返回列表的 __iter__,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9448025/

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