按顺序在Python中运行列表

时间:2017-01-11 23:12:35

标签: python regex list iteration sequence

如何告诉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将上传到网址,循环将中断。

1 个答案:

答案 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

这无限循环,但你可以在一个循环中添加你的条件,最终打破它。