![]() |
1
4
实际上,不可能创建一个作为自己迭代器的容器类。容器不应该知道迭代器的状态,迭代器也不需要知道容器的内容,它只需要知道哪个对象是对应的容器以及它在哪里。如果混合使用迭代器和容器,则不同的迭代器将彼此共享状态(在您的示例中
这就是为什么所有内置类型都有一个单独的迭代器类(甚至有些类型有一个反向迭代器类):
所以,基本上你可以回来
按预期打印16行。 如果您的目标是创建自己的迭代器类,则需要两个类(如果您想自己实现反向迭代器,则需要3个类)。
同样有效。
您可以使用生成器,而不是定义自己的迭代器。另一个答案中已经显示了一种方式:
或者显式地委托给生成器函数(这实际上等同于上述内容,但可能更清楚的是,这是一个生成的新对象):
注意:您不必实现
|
![]() |
2
1
你需要做一个新的物体。最简单的方法是使用
|
![]() |
July · 如何定义数字间隔,然后四舍五入 1 年前 |
![]() |
user026 · 如何根据特定窗口的平均值(行数)创建新列? 1 年前 |
|
Ashok Shrestha · 需要追踪特定的颜色线并获取坐标 1 年前 |
![]() |
Nicote Ool · 在FastApi和Vue3中获得422 1 年前 |
|
Abdulaziz · 如何对集合内的列表进行排序[重复] 1 年前 |
![]() |
asmgx · 为什么合并数据帧不能按照python中的预期方式工作 1 年前 |