在Python中打破内循环

时间:2014-10-04 21:20:17

标签: python loops for-loop

我的问题是我们如何突破内循环,但在再次输入该循环时仍然迭代到下一个值。

可能吗?

考虑以下非常简化的片段:

item=['I','want','this','output']
i=[1,2,3,4]

for x in i:
    for y in item:
        print y
        break

输出当然是“我”

这个词的4倍

我真正想要的输出是:'我想要这个输出'

谢谢

2 个答案:

答案 0 :(得分:3)

为了,正如您所要求的那样,当再次输入该循环时,#34;仍然会迭代到下一个值,您可以将内循环列表转换为迭代器。您看到的每件商品"被消耗了,你再也无法访问它,让你下次继续从同一地点继续:

item_iter = iter(item)
for x in i:
    for y in item_iter:
        print y
        break

I
want
this
output

这假设您确实处于需要这种解决方案的情况。更简单的是:

for x, y in zip(i, item):
    print y

答案 1 :(得分:0)

为什么不

item = ["give", "me", "free", "things"]
for x in item
    print x

你也可以这样做:

item = ["give", "me", "free", "things"]
for x in list(enumerate(item))
    print item[x]