pythonのfor文の話
1、2か月前にデータサイエンス・機械学習をかじりました。せっかくなのである程度できるようになりたいので、もう一度pythonの勉強からやり直してます。 今回はpythonのfor文がいろんな種類あるよって話です。 まずは普通の(よく知ってるやつ)
children = ['jack', 'bob', 'alex'] for child in children: print(child) => 'jack' 'bob' 'alex'
range()も使えるよって話
for num in range(5): print(num) => 1 2 3 4
range()のちょっと応用の話
# 0~8を2つ飛ばしで表示 for num in range(0, 9, 2): print(num) => 0 2 4 6 8
zipのお話
for文でzipを使うと2つのオブジェクトから要素を取り出して、繰り返しできるって話です。 下の例は2つの配列オブジェクトから要素を取り出す話です。
children = ['jack', 'bob', 'alex'] fathers = ['太郎', '二郎', '三郎'] for child, father in zip(children, fathers): print("{}'s father is {}".format(child, father)) =>jack's father is 太郎 bob's father is 二郎 alex's father is 三郎
とか
片方のオブジェクトをrange()にしてもできます。
enumerateのお話
for文でenumerateを使うと、zipでrange()を使ったみたいになります。rubyでいうとeach_with_indexみたいに勝手にinitがついてきます。(違います?)
children = ['jack', 'bob', 'alex'] for num, child in enumerate(children): print("No{}. is {}".format(num, child)) =>No0. is jack No1. is bob No2. is ale
というお話でした。