如何告诉python按顺序运行列表,运行相同的功能(在这种情况下搜索带有'rice'的包),如果找不到包含米的包,请从bag1
开始再次开始从bag1-bigbag2搜索每个包。我的例子:
import random
bag1 = "bag of chips"
bag2 = "bag of cookies"
bag3 = "bag of cheetos"
ricebag = "bag of rice"
baglist = [bag1, bag2, bag3, ricebag]
bigbag1 = random.choice(baglist)
bags =[bag1, bag2, bag3, bigbag1]
rice = False
while not rice:
for bag in bags:
if ' rice' in bag:
print('rice found')
rice = True
break
print('yum')
最终目标是按顺序继续搜索行李,直到if
声明为真。在一个真实的例子中,bags
代表我正在解析的网址,rice
是我在网址中搜索的关键字。网址正在发生变化,因此最终rice
将上传到网址,循环将中断。
答案 0 :(得分:0)
不确定我理解你的问题,但不过这就是你反复循环一些列表的方式:
from itertools import chain, cycle
a = range(5)
b = range(10, 14)
c = range(100, 107)
for item in cycle(chain(a, b, c)):
print item
这无限循环,但你可以在一个循环中添加你的条件,最终打破它。