見出し画像

【Python】何かと覚えておくと便利な関数①(zip,enumerate)

みなさん、こんにちは。最近朝型の生活に戻りつつあります、Triaezuです。
今回はpythonの勉強を始めて3週間後に出会うような関数2つを紹介します。私は機械学習に興味を持ってpythonを始めたのですが、最初は入門本を買わずにPyQというサービスにライトプランで加入して勉強しました。その際、演習で何度も使い方を忘れてしまう関数がzip,enumerateでした。今でもよく忘れることがあるので備忘録としても残したいですし、使い方を忘れた方がこの記事に辿り着いてくれると幸いです。

1. zip

zip関数は複数のイテラブル(タプルやリスト)をまとめてくれる関数のことです。

a = [1, 2, 3]
b = [4, 5, 6]

z = zip(a, b)  #返り値はオブジェクト
list(z) #[(1, 4), (2, 5), (3, 6)]  

forループとよく一緒に使われます。

a = [1, 2, 3]
b = ["A", "B", "C"]

for x, y in zip(a,b):
  print(x, y)
##1 A
##2 B
##3 C

2. enumerate

enumerate関数は引数にイテラブルを指定すると要素とインデックスが返ってくる関数のことです。

b = ["A", "B", "C"]

e = enumerate(b)
list(e)  #[(0, 'a'), (1, 'b'), (2, 'c')]

zipと同様にforループとよく一緒に使われます。

b = ["A", "B", "C"]

for i, e in enumerate(b):
  print(i, e)
##1 A
##2 B
##3 C

3. zipとenumerateの組み合わせ例

先ほど学んだzipとenumerateを組み合わせた例を紹介します。

a = ['A', 'B', 'C']
b = ['D', 'E', 'F']
zip_list = list(zip(a, b))
for i, (x, y) in enumerate(zip_list):
  print(i, x, y) 
  ##0 A D
  ##1 B E
  ##2 C F

4. 最後に

これでzip,enumerateの使い方の紹介は終わりです。この記事は3分程度で読んで思い出してもらうことに重きをおいたものになっていますので、詳しい仕様についてはPythonの公式ドキュメントを読んでいただけたらと思います。

これからkaggleのTaitanicの解説を作る傍らで「何かと覚えておくと便利な関数」シリーズを隔週で続けていきたいと思うので、よろしくお願いします!

いいなと思ったら応援しよう!