Python 3.x 如何创建通过循环列表中的所有值返回的Python模块或类?
我试图创建一个模块/类,循环列表或表的所有值。 如果我有一个列表,我想创建一个模块,在每次迭代中,该模块会在变量后面给出一个值。 在循环中键入forPython 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) 我希望得到的
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等}