更新For循环中的索引值

2024-03-28 13:28:54 发布

您现在位置:Python中文网/ 问答频道 /正文

基于在列表中找到的元素,我想更新for循环中的索引值。我相信我已经做到了这一点,但我的Python脚本似乎没有输出正确的值,我无法理解原因:

我的列表如下:

dataXY = [['6', 'c', '3', '7', '2', '9', '1', '7'],['8', '4', 'c', '7', '9', '3', '4', '7', '1', '2']]

我的代码是:

^{pr2}$

它打印的是: 1 5 三 4 5 6 7 0 1 2 6 4 5 6 7 8 九

由于某些原因,索引值被重置,但随后又被恢复(从1跳到5,然后又回到3),我不明白它为什么要这样做,我需要索引值跳转3个位置并永久更新,而不是将自身恢复到原始值。在


Tags: 代码脚本元素列表for原因重置pr2
2条回答

使用while循环:

datum=0
while datum < len(lists):

在for循环中,datum的值将在循环再次开始时自动重置为range中的下一个值。尽管while循环不会像for循环那样自动更新datum,但您必须自己增加它,否则您的代码将陷入无限循环。在

使用for循环时,将从列表中的值加载索引变量。 range(x)创建列表[0,1,2, ... ,x],因此在每次迭代中,datum(在您的例子中)从列表中获取一个新的数值。这将覆盖datum可能包含的任何值。在

您可以通过切换到while循环来完成目标:

datum = 0
end = len(lists)
while datum < end:
    # do stuff

    # don't forget to increment datum
    datum += 1

相关问题 更多 >