Python 3.x 如何创建通过循环列表中的所有值返回的Python模块或类?

Python 3.x 如何创建通过循环列表中的所有值返回的Python模块或类?,python-3.x,class,module,Python 3.x,Class,Module,我试图创建一个模块/类,循环列表或表的所有值。 如果我有一个列表,我想创建一个模块,在每次迭代中,该模块会在变量后面给出一个值。 在循环中键入for list = [1,2,3,4,5,6,7,8,9,0] # for i in list: # print(i) def reader(list): for i in list: return i while True: var = reader(list) print(var) 我希望得到的

我试图创建一个模块/类,循环列表或表的所有值。 如果我有一个列表,我想创建一个模块,在每次迭代中,该模块会在变量后面给出一个值。 在循环中键入for

list = [1,2,3,4,5,6,7,8,9,0]

# for i in list:
#     print(i)

def reader(list):
    for i in list:
        return i

while True:
    var = reader(list)
    print(var)

我希望得到的结果是,模块在每个周期为我提供列表的以下值。

您可以将一个类变量设置为要打印的项目的索引值,并使用一个单独的函数进行更新,该函数返回以下值

class Cycle:

  def __init__(self, cyclable_list):
    self.index = 0
    self.cycle_list = cyclable_list

  def returnValue(self):
    value = self.cycle_list[self.index]
    self.index = (self.index+1) % len(self.cycle_list)
    return value
运行以下代码时,cycle对象将按顺序返回列表中的每个值,然后再从索引0重新启动

cyclable_list = [1,2,3,4,5]
my_cycle = Cycle(cyclable_list)

for i in range(7):
  print(my_cycle.returnValue())
输出:

1
2
3
4
5
1
2

等等…

我想你们需要的是一个发生器,它一次给你们一个值。下面的读者将给出结果

def读卡器(列表):
对于列表中的i:
产量一
同样的结果也可以通过生成器表达式得到

reader=(列表中的i代表i)
你可以这样使用它

对于读卡器中的i:
印刷品(一)

我只解决了部分问题,在更大的范围内,我必须评估值并比较它们。实际上,如果我必须读取一个数据库表,那么我就有可能对该对象进行迭代?比如{'a':1,'b':2等}