gpt4 book ai didi

python - 控制 Python for 循环的索引

转载 作者:太空宇宙 更新时间:2023-11-03 14:28:36 24 4
gpt4 key购买 nike

如何控制 python for 循环的索引? (或者你可以吗?或者你应该吗?)

例如:

for i in range(10):
print i
i = i + 1

产量:

0
1
2
3
4
5
6
7
8
9

我希望它产生:

0
2
3
4
5
6
7
8
9
10

如果我完全偏离了这个问题的轨道,我真的很抱歉,此刻我的大脑完全让我失望,解决方案是显而易见的。


我为什么要问?

这与问题无关,但与我需要答案的原因有关。

在我写的 Python 脚本中,我正在做这样的事情:

for i in persons:
for j in persons[-1(len(persons) - i - 1:]:
if j.name in i.name:
#remove j.name
else:
#remove i.name

#For every person (i), iterate trough every other person (j) after person (i)
#The reason I ask this question is because sometimes I will remove person i.
#When that happens, the index still increases and jumps over the person after i
#So I want to decrement the index so I don't skip over that person.

也许我的处理方式完全错误,也许我应该使用 while 循环并控制我的索引。

最佳答案

How do you control the index of a python for loop? (or can you? or should you?)

不能/不应该 - 循环控制变量将在每次迭代结束时重新分配给你正在迭代的下一个元素(这样 i = i + 1 没有效果,因为 i 无论如何都会在下一次迭代中被重新分配给不同的东西)。如果你想像那样控制索引,你应该使用 while 循环:

i = 0
while i < 10:
print i
i = i + 1

虽然,Python 的 range功能比您可能意识到的更灵活。例如,要以 2 为步长进行迭代,您可以简单地使用类似

for i in range(0, 10, 2):
print i

关于python - 控制 Python for 循环的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15707344/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com