pythonはイテレータ(イテレーションごとにリストや辞書から要素を一つずつ取り出して返すこと)がよく使われているが、そのようにしているのはデータがどれくらいのサイズなのかなどを知らなくてもデータを操作できる。そのようなものはforを使ってやれば楽にデータを取り出して処理することができる。
animals=['dog', 'cat', 'elephant', 'snake']
for animal in animals:
print(animal)
dog
cat
elephant
snake
これはまずanimalsが何かを定義した後それに名前をつけていると考えてくれるといい。だからanimalは全ての値を読み込むことが可能になる。もしここでforを使わないとどうなるのか
animals=['dog', 'cat', 'elephant', 'snake']
print(animals)
['dog', 'cat', 'elephant', 'snake']
これだとリスト自体を読み込んでしまっていることになっているので要素を一つ一つ読み込んで取り出すことができない。このようなリストはイテラブルなためforを使った時にこのような処理ができる。辞書などの時はkeysとvaluesのどちらかが読み取られるの?と考えることもあるかもしれない。それは普段の辞書と同じで両方好きな時に返すことが可能になる。
animals={'Hello': 'dog', 'Bob': 'cat', 'hat': 'elephant', 'King': 'snake'}
#ここではkeysを読み取りたい時後ろにkeys()と書いているがかかなくてもよし
for name in animals.keys():
print(name)
#valuesを読み取りたい時
for animal in animals.values():
print(animal)
#items()を読み取りたい時
for item in animals.items():
print(animal)
で可能になります。またforもwhileとにtリルこともありwhileと同じようにbreakやcontinueなどを使うことができます。