我需要在循环外更改参数,并在满足特定条件后继续迭代
例如,我有比萨饼列表和字符串列表。我有满足条件后应切换的酱包清单。 若字符串中存在条件“sauce_error”,我需要从sauce pack列表切换到另一个sauce pack,并使用下一个sauce pack继续迭代
#list of sauce packs
saucePacks = ['sauce_pack1', 'sauce_pack2', 'sauce_pack3', 'sauce_pack4']
index = 0
saucePack = saucePacks[index]
#list of pizzas
pizzas = ['pizza1', 'pizza2', 'pizza3_sauce_error', 'pizza4', 'pizza5']
#iterating over strings
for pizza in pizzas:
if 'sauce_error' in pizza:
index = index+1 #need to switch sauce pack if substring in string
print(saucePack, pizza)
else:
print(saucePack, pizza)
当“pizza”字符串中出现“sauce_错误”时,应将酱汁包切换到下一个from列表
期望输出:
sauce_pack1 pizza1
sauce_pack1 pizza2
sauce_pack2 pizza3_sauce_error
sauce_pack2 pizza4
sauce_pack2 pizza5
您只是忘了用新索引更新您的锅包:
与其更新索引并根据索引获取新元素,不如使用iteraor更像是Pythonic:
请注意,当迭代器耗尽时,您需要小心(您还需要使用索引,以防它超过列表的大小…)
Tobias p.G.有正确的答案,但是,我做了一些补充。如果对您有意义,请使用代码
相关问题 更多 >
编程相关推荐