for文の中で2つの配列を使うケースに出くわしました。
例えば、次のようなコードです。
tanka = [100,200,300,400]
kosuu = [3,9,1,8]
for i in range(4):
print(tanka[i] * kosuu[i])
JavaScriptなどと同じように書いていたのですが、Pythonならもっとスッキリする記述方法があるとのこと。
その方法をまとめました。
zip関数とは?
複数の反復可能オブジェクトを並行して反復し、それぞれのアイテムを含むタプルを生成します。(公式ドキュメントをGoogleで翻訳)
複数の配列からそれぞれn番目の値を同時に取得できる、と、言い換えることができますね。
zip関数を使って前述の処理を書き直したものは、こちら。
tanka = [100,200,300,400]
kosuu = [3,9,1,8]
for x,y in zip(tanka,kosuu):
print(x * y)
まとめ
zip関数を使うと、複数の配列から同時に値を取得できます。これを応用すると、2次元配列の行列入れ替えができそうです。
Pythonならではの書き方で、またひとつ勉強になりました。