Python

コードすっきり!Pythonのzip関数が便利だった

コードすっきり!Pythonのzip関数が便利だった

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ならではの書き方で、またひとつ勉強になりました。

-Python
-, , ,