首页 > 解决方案 > 循环遍历 Python 中的列表,增加值,同时在每次迭代时遍历列表

问题描述

这是我的代码,用于在 excel 中提供行号:

clusters = 3
rowRef = [9, 12, 15]

x = 1
while x < clusters:
    rowRef[x:] = [a + 1 for a in rowRef]
    x = x + 1

我希望实现的输出是:

因此,随着循环的每次迭代,它会从列表中减少一项。但是,我得到的输出是:

[9、10、10、11、14、17]

我需要改变什么才能使它起作用?

标签: pythonlistloopswhile-loopiteration

解决方案


您的列表理解中缺少一个切片:

rowRef[x:] = [a + 1 for a in rowRef[x:]]

否则,您将遍历整个列表,而不是每次都处理剩余的列表。

这里有活生生的例子


推荐阅读