我的问题是我们如何突破内循环,但在再次输入该循环时仍然迭代到下一个值。
可能吗?
考虑以下非常简化的片段:
item=['I','want','this','output']
i=[1,2,3,4]
for x in i:
for y in item:
print y
break
输出当然是“我”
这个词的4倍我真正想要的输出是:'我想要这个输出'
谢谢
答案 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]