循环列表,但在条件上跳过元素

时间:2014-06-16 09:54:08

标签: python python-3.x

我有以下情况,我有一个字符串列表,我像这样循环:

list = [string1, string2, string3, string4]

for index, item in enumerate(list):

    print(index, item)

现在我想要做的是如果满足特定条件将循环索引增加1.我知道如果我要使用传统的数字for循环,如何做到这一点我只是想知道是否有办法在这种情况下这样做。

非常感谢

1 个答案:

答案 0 :(得分:3)

这是使用iterables时很方便的时候:

lst = [string1, string2, string3, string4]  # BTW, `list` is a bad variable name
iterable = iter(lst)
for item in iterable:
    if condition(item):
        skipped = next(iterable, None)
        continue  # it's unclear from your question if you would want to continue or not...
    do_something(item)