map関数

■map関数とは
「イテラブルなオブジェクト(リストやタブルなど)の各要素に対して関数を適用し、新たなイテレーターを返す」

こんな呪文を唱えたところで、何が何だかさっぱりわからないので、サンプルスクリプトを書いてみたいと思います。

(ファイル名) map_test.py

# map関数に渡す関数
# プログラミング言語名と文字列の長さを返す。
# lang <- プログラミング言語名
def name_and_len(lang):
    return '{}({})'.format(lang, len(lang))

lang = ['Python', 'Ruby', 'Perl', 'PHP', 'C++', 'C#', 'R', 'Java']
iter = map(name_and_len, lang) # iter <- イテレーター

# たった今作ったばかりのイテレーターをループで回して、表示する。
for i in iter:
    print(i)

(実行結果)

$ python3 map_test.py
Python(6)
Ruby(4)
Perl(4)
PHP(3)
C++(3)
C#(2)
R(1)
Java(4)

要するに、こういうことです。

イテラブル →[map関数]→ イテレーター

参考サイト

Pythonの組み込み関数

Pythonプログラミング物語 © 2016 Frontier Theme