組み込み関数map()関数を使用した変換処理を行う – 【Python】
Pythonでは組み込み関数でmap()関数が用意されています。
引数2つ
第一引数に変換処理を行う関数、第二引数以降はイテレータを指定します。
イテレータの要素に対して2倍に変換するmap()関数です。
def double(x): return x * 2 num = [1, 2, 3, 4, 5] result = map(double, num) print(result) # <map object at 0x7f2b34534040> mapオブジェクトが返ってくる print(list(result)) # [2, 4, 6, 8, 10]
これをリスト内包表記に書き換えます。
def double(x): return x * 2 num = [1, 2, 3, 4, 5] result = [double(i) for i in num] print(result)# [2, 4, 6, 8, 10]
引数3つ
map()の引数が3つあるパターンです。
第一引数に変換処理を行う関数、第二引数、第三引数はイテレータを指定します。
イテレータの要素を加算して返す(変換)map()関数です。
def add(x, y): return x + y num1 = [1, 2, 3, 4, 5] num2 = [1, 2, 3, 4, 5] result = map(add, num1, num2) print(list(result)) # [2, 4, 6, 8, 10]
これをリスト内包表記に書き換えます。
def add(x, y): return x + y num1 = [1, 2, 3, 4, 5] num2 = [1, 2, 3, 4, 5] result = [add(x, y) for x, y in zip(num1, num2)] print(result) # [2, 4, 6, 8, 10]
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^