【问题标题】:Iterating through a class python [duplicate]遍历一个类python [重复]
【发布时间】:2016-06-14 07:54:41
【问题描述】:

我有一个需要迭代的向量类。该类包含一个列表变量。我需要遍历这个类。

我不确定我会怎么做。我需要使用__iter__,它建议我使用yield,这是我想要的结果:

[x*2 for x in Vector([3,3.25,"foo"])]
[6, 6.5, 'foofoo']

Iter 应该返回一个可以遍历向量元素的对象。 我以前从未使用过__iter__,我该怎么做呢。

【问题讨论】:

  • 我可以建议不要用您的参数名称覆盖默认类对象吗?不是你的问题,但可能不会帮助任何人
  • 第 5 行按位或在做什么?我打赌没什么好说的
  • 与使用 | 进行逻辑或相同。 Python 有关键字or
  • 不知道,python 的新手将替换为 or
  • 这里不重要,因为布尔值无论如何都可以计算为 0 或 1。

标签: python


【解决方案1】:

基本上:

def __iter__(self):
    for elt in self.l:
        yield elt

【讨论】:

    猜你喜欢
    • 2019-06-15
    • 2011-04-26
    • 2022-10-17
    • 1970-01-01
    • 2014-09-28
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2021-11-15
    相关资源
    最近更新 更多