Python - map

公開日:2019-03-12

1. 概要

map の使い方です。
map は、リストなどの各要素に対して、関数を適用したい場合に使います。
戻り値はイテレーターとなります。元のリストなどには影響はありません。
また、map() 実行時には、まだ関数は適用されません。for などで要素を取り出す際に実行されます。

使い方
map(適用する関数, リストなど)

2.1 サンプル

map の動作確認のためのサンプルです。

ソース
lst = [1,2,3,4,5]

def inc(value):
    return value + 1

m = map(inc, lst)

for item in m:
    print(item)

print(lst)

実行結果
2
3
4
5
6
[1, 2, 3, 4, 5]

2.2 ラムダ式を使ったサンプル

ソース
for item in map(lambda v: v * 2, [1,2,3,4,5]):
    print(item)

実行結果
2
4
6
8
10

3. 遅延評価の確認

map() 実行時には関数が適用されないことを確認します。

ソース
lst = [1,2,3,4,5]

def inc(value):
    print("inc()処理中")
    return value + 1

m = map(inc, lst)

print("この段階では、まだ関数は実行されません。")

print("-----")

for item in m:
    print(item)

print("-----")

print(lst)
print(type(m))

実行結果
この段階では、まだ関数は実行されません。
-----
inc()処理中
2
inc()処理中
3
inc()処理中
4
inc()処理中
5
inc()処理中
6
-----
[1, 2, 3, 4, 5]
<class 'map'>