ホームページ  >  記事  >  バックエンド開発  >  Pythonのmap関数とreduce関数の使い方入門(コード付き)

Pythonのmap関数とreduce関数の使い方入門(コード付き)

不言
不言転載
2018-09-28 15:02:403573ブラウズ

この記事では、Python の Map 関数と Reduce 関数の使い方を紹介します (コード付き)。一定の参考値があります。困っている友人は参考にしてください。お役に立てれば幸いです。

map() 関数

Python の map() 関数は 2 つのパラメータを受け取ります。1 つは呼び出し元の関数オブジェクトです (オブジェクトは Python のどこにでもあり、関数はオブジェクトとして呼び出すこともできます)インスタンス化される前) )、もう 1 つは関数を呼び出すために必要なパラメーターであり、戻り値は反復的に計算された結果のリストです。

 def func(x):
     return x*x
 r=map(func,[1,2,3,4,5,6,7,8,9])
 l=list(r)
 print(l)

表示結果:

 [1, 4, 9, 16, 25, 36, 49, 64, 81]

reduce() 関数

reduce 関数には 2 つのパラメータも必要です。1 つは次のパラメータです。 call Function オブジェクト、関数を呼び出すために必要な別の数のパラメータ、およびその戻り値は計算結果を次の要素で累積します。

from functools import reduce
def add(x,y):
    print('x is:',x,'y is:',y)
    return x+y
ret=reduce(add,[1,3,5,7,9])
print(ret)

表示結果:

x is: 1 y is: 3
x is: 4 y is: 5
x is: 9 y is: 7
x is: 16 y is: 9
25

Python の組み込み関数について質問するかもしれません。 sum() を使用すると目的の結果が得られますが、なぜreduceする必要があるのでしょうか?次のケースでは、[1,3,5,7,9] を 13579

from functools import reduce
def add(x,y):
    print('x is:',x,'y is:',y)
    return x*10+y
ret=reduce(add,[1,3,5,7,9])
print(ret)

に返したいので、結果を表示します:

えー

以上がPythonのmap関数とreduce関数の使い方入門(コード付き)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。