** Machine Learning Algorithms and Python Learning、** SelectStarをクリックします
素晴らしいコンテンツは失われません
Datawhale乾物、著者:Xiamen大学のPaper Money Super
この記事では、「Python」の5つの組み込み高次関数の使用法をさまざまな実用例とともに詳しく説明します。これは、Pythonのデータ構造を理解し、データ処理の効率を向上させるのに役立ちます。5つの関数は次のとおりです。
map
関数の基本的な構文は map(func、seq)
であり、その意味は、反復可能なシーケンスの各要素に対して前の関数 func
の関数を実行し、最後に新しいシーケンスを取得することを意味します。注意:
Python2
はリストを直接返します Python3
で返されるのはイテレーターです。リストを返したい場合は、list()を使用して処理できますhelp(map) #ヘルプ情報を表示する
map
関数の使用方法を例を挙げて説明します
匿名関数を使用する場合、複数のパラメーターが存在する可能性があります
reduce
関数の定義:
reduce(function, sequence [, initial])-> value
reduce
は sequence
から要素を順番に取得し、 function
への最後の呼び出しの結果をパラメーターとして使用し、 function
を再度呼び出します。
「関数を初めて呼び出すときに、初期パラメーターが指定されている場合、関数はシーケンスの最初の要素で呼び出され、初期値がパラメーターとして呼び出されます。それ以外の場合、関数はシーケンスの最初の番号で呼び出されます。
”
Python3
では、 reduce
関数は functools
モジュールに移動されており、最初にインポートする必要があります。
from functools import reduce #インポート
help(reduce) #ヘルプドキュメントを表示
上記の例では、グラフィックを使用して次のことを説明しています。
image-20201024185550970
具体的なプロセスは次のとおりです。
1.1*2+1=32.3*3+1=10 # 元のデータでは、最初の3つは上記の結果3で、2つ目は33です。.10*4+1=41
初期化値とシーケンスの最初の値がfunc関数を実行し、結果が次の開始値になります
# 特定のプロセスは次のように説明されています
1.6+1=72.7+2=93.9+3=124.12+4=165.16+5=21
filter()
関数は、シーケンスをフィルタリングし、条件を満たさない要素を除外し、条件を満たした要素を返して新しいリストを作成するために使用されます。
シーケンス内の各要素は、判断のためにパラメーターとして関数に渡され、TrueまたはFalseを返し、最後にTrueを返す要素が新しいリストに配置されます。
filter()
の構文は次のとおりです。
filter(function, iterable) #前者は関数であり、後者は実行されるシーケンスです。
help(filter) #ヘルプドキュメント
**10 **以内の偶数を返す
指定された要件を満たす文字列を選択してください
sorted(iterable, key=None, reverse=False)
sort()
は3つのパラメーターを受け入れ、ソートされたリストを返します
iterable
reverse = False
、ブール値を受け入れ、ソート結果を逆にするかどうかを選択します。デフォルトは False
です。key = None
を受け入れます。コールバック関数は、関数の戻り値に従ってソートされた1つのパラメーターのみを持つことができます。help(sorted) #ヘルプドキュメント
元のデフォルトは reverse = True
を使用して昇順であるため、結果の反転の意味は結果を降順で並べ替えるです。
key
パラメータの機能は、関数をカスタマイズしてから、シーケンス内の要素を関数に適用して並べ替えることです。
ここでは絶対値関数を使用します
sort()メソッドは元のリストのみをソートでき、パラメーターはソート済みと同じです。
その結果、元のリストはその場で直接変更されますが、並べ替えは新しいリストを生成するためのものですが、2つは異なります
zip()
は Python
の非常に重要なメソッドであり、多くの関数をすばやく実装できます。
zip([iterable,...]) #iterableは1つ以上のイテレーターです
tuplelist
の形式です。help(zip) #文書を表示する
zip
はリスト、タプル、文字列およびその他の形式を受け入れることができます
zip
は空のリストの形式を受け入れ、返されたリストはまだ空です
異なるタイプのシーケンスを同時にマージします
複数のシーケンスが同時に存在する場合、最小のシーケンスの長さを取ります
この方法は一般的に zip
の逆のプロセスであり、たとえばその使用法を説明するために unzip
のプロセスであると考えています。
より複雑な例を見てみましょう
この例の説明は次のとおりです。
[ x]
はリストを含むリストであり、 x
自体はリストです[ x] * 3
結果は [x、x、x]
であり、実際には [[4,5,6]、[4,5,6]、[4,5,6]]
です。[*[ x] * 3]
結果は[(4,4,4)、(5,5,5)、(6,6,6)]
です。以下は、そのアプリケーションを説明するための zip
の実際的な例です。
For
ループの実装:
zip
を使用して以下を実現します。
**よろしければ「見る」をクリック! ****
Recommended Posts