python循环不断扩展的列表

标签 python list numpy

我有一个包含值的列表(在我的例子中是元组) - 开头有 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/

相关文章:

python - 如何从 scikit-learn KMeans 获取聚类中心的文本?

C#\避免内存不足异常

python - 在numpy中索引行和列

python - Numpy where() 创建与定义颜色不同的点

list - 将列表分成大小为N的组

python-3.x - 通过 concurrent.futures 多处理填充 numpy 数组

python - Pandas Groupby/列表到多行

python - python print 语句中出现意外 None

python - 搜索未测试的函数

python - 从对象列表中获取属性的最大值