我有一个包含值的列表(在我的例子中是元组) - 开头有 1 个元素。我需要循环一个列表,并对列表中的最后一个值应用一些计算,这将为我提供下一个列表元素。之后,我需要连接这些列表并使用列表的最后一个值计算下一个元素。等等...
如何才能做到呢?也可以使用 NumPy。
现在我确实喜欢这个,但它不起作用
while True:
lst = [1]
print(lst)
for i in range(len(lst)):
elem = lst[-1]
new = elem + 10 // dummy computations
lst.append(new)
最佳答案
如果您只想稍后循环遍历列表,您可以构建一个生成器:
def f(elem):
return elem + 10
def lst(init):
yield init
while True:
next = f(init)
yield next
init = next
这会永远持续下去,所以请确保你的循环中有一些中断:
for i in lst(1):
print i
if i > 100:
break
打印:
1
11
21
31
41
51
61
71
81
91
101
关于python循环不断扩展的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18965402/