python for循环跳过两次怎么写 continue只能跳过一次?

比如: a=[1,2,3,4,5,6,7,8,9] for i in a: if i==2: continue print(i) 输出结果是: 1 3…
关注者
6
被浏览
11,264

5 个回答

题主所述代码完整的写法应该是这样的:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
    if i == 2:
        continue
    else:
        print(i)

这样写就能够更清楚的理解 continue 的作用了:for 循环中 continue 的意思是跳过,即在循环中如果遇到某个元素(数值),就跳过去,然后继续下面的循环。按照的这个思路,可以将某个数值扩展到某些数值 -- 即是扩大范围,将 i 的值设置为一定范围就可以了:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
    if 2 <= i <= 4:
        continue
    else:
        print(i)

当然,也可以随便设置一些范围,比如:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
    if 2 <= i <= 4 or i == 7 or i == 9:
        continue
    else:
        print(i)

也可以通过设置一些运算规则来达到想要的效果,比如:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
    if i % 2 == 0:
        continue
    else:
        print(i)

或者将上下条件反转过来,也未尝不可:

a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
for i in a:
    if i % 2 == 0:
        print(i)
    else:
        continue

等等,等等 ......

编辑于 2021-10-18 11:27

和 break 语句相比,continue 语句的作用则没有那么强大,它只会终止执行本次循环中剩下的代码,直接从下一次循环继续执行。

仍然以在操作跑步为例,原计划跑 10 圈,但当跑到 2 圈半的时候突然接到一个电话,此时停止了跑步,当挂断电话后,并没有继续跑剩下的半圈,而是直接从第 3 圈开始跑。

continue 语句的用法和 break 语句一样,只要 while 或 for 语句中的相应位置加入即可。例如:

add = "http://www.baidu.com/,http://www.google.com/"
# 一个简单的for循环
for i in add:
    if i == ',' :
        # 忽略本次循环的剩下语句