いくつかのPythonの関数は知っている必要があります

Pythonは、3マップ、フィルタである、頼む機能を削減するために、一般的に面接や筆記試験の基礎の間に、さらにいくつかの興味深い機能が付属しています。

1.map(関数、反復可能)

関数名匿名関数またはラムダ式、着信イテレート可能オブジェクトの第2の要素を通過する第一の要素です。

アレイ= [1,2,3,4,5]結果=マップ (ラムダX、X + 1、配列)結果#がここで生じるのみ変換をクリックする必要がダイレクト印刷対象リストの結果である
特定の結果を見ることができます< 0x0000000003A79518>リスト(結果で地図オブジェクト )[2、3、4、5、6]

ここでは、1大に対応する元のリストの要素よりも、各要素に、マップ機能の結果を見ることができる、と私のラムダ式は、各要素プラス1の略語です。

マップ()関数は、動作の各要素の反復関数であることがあり、そしてその要素イテレート可能オブジェクト操作が返さなる後のオブジェクトを返すことがわかります。

2.filter(関数、反復可能)

同様に、最初の引数は、関数名または匿名関数への着信イテレート可能オブジェクトの第2の要素に合格しました

#を押して機能マップの着信試し=アレイ[1,2,3,4,5]結果=フィルタ(ラムダX:X + 1、アレイ)結果<ATオブジェクトのフィルタ
 0x0000000003A79550>一覧(結果)
#結果はありません操作の各パラメータの変化なしを返す[1、2、3、4、5] 関数真、偽の結果1を返却しようと決定され=フィルタ(ラムダX:X場合のx%2 ==他0なし、アレイ)結果1 <オブジェクトフィルタAT 
 0x0000000003C28A90>リスト(結果1)
位のための真の値を返す[2~4]

上記のコードから引き出すことができる、フィルタ()関数は、反復可能な要素が関数に代入されており、その後、真の要素に戻って、あなたが使用することができたときに行われる一般的なスクリーニング、サイクルを書き込みません。

3.reduce(関数、反復可能)

のみpython2のみ着信パラメータおよびマップに機能を低下させる、フィルタは同じです。第二の要素である第3の要素が再び置換しながら、その機能は、2つの要素、機能を操作した後に得られた値を代入する最初の2つの要素が渡され、最初の要素として再び戻された値を返します機能操作、最終結果への復帰の終わりまで。

アレイ= [1,2,3,4,5] 
結果=減らす(ラムダX、Y、X + Y、アレイ)
リスト(結果)
#1 + 2 + 3 + 4 + 5 = 1515

それは実際には非常に簡単な手順です:

第X = 1、Y = 2、着信匿名関数であり、x + yの値が3返されます

第2のX = 3(3のリターン)、YはX + Yを返すように関数に3(3リスト内のこの第二の要素)= 6であります

第X = 6、Yは、x + yが返す10であり、4 =

X = 10第四に、yはx + yが返す15である、5 =

どの要素が直接バックエンドを渡すことはできません。

ヒント:組み込み関数内のpythonツールは、スピードの追求が、その後、まだあなた自身の手に最適なアルゴリズムを爆破する必要がある場合は、シンプル、高速なコードを書くだけ便宜上、必ずしも最速のアルゴリズムではありません。(インタビュートピックので、唯一の非常に多くのアルゴリズムとデータ構造)

この記事はで再現されhttps://www.py.cn/jishu/jichu/11175.html

おすすめ

転載: www.cnblogs.com/jsdd/p/11586208.html