在Python中按顺序运行列表

2024-10-03 15:23:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我如何告诉python按顺序运行一个列表,运行相同的函数(在本例中搜索带有“rice”的包),如果没有找到带有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表示我正在解析的url,rice是我在url中搜索的关键字。url正在更改,因此最终rice将上载到url,循环将中断。你知道吗


Tags: ofinurlifrandombags例子bag
1条回答
网友
1楼 · 发布于 2024-10-03 15:23:16

我不确定我是否理解你的问题,但这就是你如何一遍又一遍地循环许多列表:

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

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

相关问题 更多 >