python - 在 Python 中操作 for 循环的索引

标签 python for-loop indexing

是否可以在 Python for 循环中操作索引指针?

例如在 PHP 中,以下示例将打印 1 3:

$test = array(1,2,3,4);
for ($i=0; $i < sizeof($test); $i++){
    print $test[$i].' ';
    $i++;
}

但是在 Python 中,当我尝试增加索引时没有任何效果。例如,以下将打印所有数字:

test = ['1', '2', '3', '4']
for i in xrange(len(test)):
  print test[i]
  i=i+1

有没有办法在循环内操纵 for 循环指针,以便我可以实现一些复杂的逻辑(例如,后退 2 步,然后前进 3 步)?我知道可能有其他方法可以实现我的算法(这就是我目前所做的)但我想知道 Python 是否提供这种能力。

最佳答案

当您尝试操作索引 i 时,您正在这样做,但是当 for 循环进入下一次迭代时,它分配给 i xrange(len(test)) 的下一个值,因此它不会受到您所做操作的影响。

您可能想尝试使用 while 代替:

test = ['1', '2', '3', '4']
i = 0
while i < 4:
    print test[i]
    i += 2

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

相关文章:

python - 如何在python中找到两个字符串之间最长的公共(public)ENDING

mysql - 这个查询会使用索引吗?

sql - 使用 postgreSQL 的 ORDER BY COUNT 优化(索引?)

python - pip install 不断询问用户和密码

python - 在 Python 中映射

python - 在 python 或 numpy 中合并记录

java - 冒泡排序 ArrayIndexOutOfBoundsException

JavaScript 循环 : for-loop works but not map?

java - for循环在android try-catch block 中不起作用

ios - 为什么是 objectForKey : @"" returning (null)?