静かなる名辞

pythonとプログラミングのこと



【python】pythonのenumerateの使い方

 enumerateを使うと、以下のようなコードを改良できる。

for i in range(len(lst) - 1):
    element = lst[i]
    next_element = lst[i + 1]
    ......

 要するに何らかの理由(だいたい前後を見たいとかだけど)でインデックス番号でforを回しているとき、range(len(lst))は冗長という話。enumerateを使うと次のように書ける。

for i, element in enumerate(lst):
    ......

 文字列で確認してみる。

>>> for i, s in enumerate("hoge"):
...     print(i, s)
... 
0 h
1 o
2 g
3 e

 使いやすそう。

 enumerateは標準で使えるので(zipみたいな扱い)、特別に何かをimportする必要はない。そういうところも素敵。

 このように便利なenumerateだが、一つだけ欠点がある。日本人には名前が覚えづらいということだ。特に真ん中のeが抜けがち。

 覚えるコツは「この関数なんかヌメヌメしてる」だ。enumerateを使うときは「ヌメヌメしてるなぁ」と思いながらローマ字でnumeと打つ。そうすればスペルを間違わない。