2017-01-11 15 views
0

Pythonにリストを順番に実行し、同じ機能(この場合は 'rice'で検索)を実行し、米のバッグが見つからない場合は、 bag1から再度、bag1-bigbag2からすべてのバッグを検索し始めます。私の例:Pythonでリストを順番に実行する

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にアップロードされ、ループが壊れます。

+0

'random.choice [baglist]' => 'random.choice(baglist)' –

+0

最初に見つからなかった場合、最初から検索を開始する点は何ですか?あるいは、あなたがしたいことを誤解していますか? –

+0

@PaulRooney私はちょうど読書をより簡単にするためにこの例を作りました。私の状況では、バッグは実際に私が監視したいURLになります。 URLのxmlに "rice"が含まれているかどうかを確認するために別のスクリプトを作成するのではなく、すべてを1つのスクリプトにまとめたいと思います。私がヒットを得るまで、URLを繰り返してください – ColeWorld

答えて

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 

最終的に。

関連する問題