リストを反復処理する方法はいくつかあります。
最も一般的なのは各ループです
for fruit in orderList:
print fruit
より効率的なバリエーションは、ジェネレーターを使用することです。ジェネレーターは反復可能なシーケンスであることにも注意してください。
def generator(fruits):
for fruit in fruits:
yield fruit
generate = generator(orderList)
firstFruit = generate.next()
// Doing complex calculations before continuing the iteration
answer = 21 + 21
secondFruit = generate.next()
より洗練されたアプローチは、高階関数'map'を使用することです。マップは値を返すこともできます。各果物の価格または数量を5%増やしたい場合は、単純な関数を作成する必要があります。
def display(fruit):
print fruit // map takes in a function as an argument and applies it to each element of the sequence.
map( display, orderList )
// You could also use a generator
map( display, generate )
私が考えることができる最後の方法は、圧縮を使用することです。圧縮は組み込み形式の反復であり、現在ほとんどの標準ライブラリデータ構造で使用できます。シーケンスを使用して新しいリストを作成する場合に便利です。私は怠け者なので、構文を非難するためにdisplayを再利用しています。
[ display(fruit) for fruit in orderList ]
[ display(fruit) for fruit in generate ]