Pythonのノート(17) - 高度な機能

機能を理解するための

最小機能分間であり得ます。

分(1,3,55,4:[1]において
OUT [ 1]:1

 

変数に割り当てられたMIN関数。

[2]:= 

[IN 3 :] 
OUT [ 3]:<関数分>

 

そのタイプの関数として、我々が見ることができ、見ることは実際の変数の関数であり、

内蔵高階関数

マップ機能

操作機能定義を作るためにシーケンス内のデータ要素の集合のすべて

[ルート@ centos01パイソン] #の猫map_test.py は/ usr / binに/のenv pythonの!のコード:UTF-8 
デフ楽しい(x)は:
     リターンのx ** 2 プリントマップ(楽しい、[1,2,3,4 ])
[ルートの@ centos01パイソン] #のPythonのmap_test.py 
[1、4、9、16]

 

機能を縮小

定義された放電動作バック機能を実行するために2つの変数の要素の集合一つずつでなければなりません

[centos01 @ルートのPython] CATのreduce_test.pyの
#のコーディング:UTF 8 
#の説明:10の階乗
DEF 楽しい(X、Y):
     返す X * Y 

プリント(楽しい、レンジ(1,11を減らす))
[ルートcentos01パイソン@] Pythonのreduce_test.py 
3628800

フィルタ機能

データ要素のセットに一つ一つが出力要素ことは事実であるかどうかを決定するために楽しい()関数、または出力しません

[centos01 @ルートのPython] CATのfilter_test.pyの
#のコーディング:UTF 8 
#の説明:すべての偶数の間で10〜0見つける
DEF :楽しい(X)
     リターン X%2 == 0 

プリントフィルタ(楽しい、範囲( 。11 ))
[ルート@ centos01パイソン] #1 のPython filter_test.py 
[0,2 ,. 4 ,. 6 ,. 8、10]

ソート機能

関数で定義された内容に従ってソートされたデータの群

直接 ASCIIコード表がソートされているので、私たちは通常、ずっと同じソート結果を考える、ソートを並べ替え:

[4]:ソート([ " alic "" アレックス"" ボン"" こんにちは"" ウィー" ])
OUT [ 4]:[ ' アレックス'' こんにちは'' ウィー'' alic '' ボン' ]

 

そのため、最初の要素は、ソートの際に、大文字に変換され、それは我々が通常の並べ替えについて考えるものと一致しています。

[@ルートパイソンcentos01] #1 CAT sorted_test.py 
#1 コーディング:UTF 8は、
DEFのファン(X、Y):
    S1 = x.upper()  文字列が大文字に変換された 
    S2 = y.upper()
     戻り 0   #を使用比較関数は、単に値を返すようにので、ここで、それ以外の場合はエラーを戻り値を持っている必要があります

印刷並べ替えを([ alic アレックス盆踊りこんにちはウィー ]、楽しい)   これらの中組み込みのための関数の内部、後で使用されるデータセットに使用されたときにのみ、関数名をソート 
[centos01ルートのPython @] Pythonのsorted_test.py 
[ ' alic '' アレックス'' ボン'' こんにちは'' ウィー' ]

ソート済みキー方法:

あなたは、含まれるキーワードに要素を並べ替えることができます

[5]:=製品[[ " アップル"、2,20]、[ " ブック"、5,90]、[ " FISH "、3,30]]   のリストもあります3のリスト 
では、[6] :DEF min_one(X):        機能が動作する第三の要素のリストを返し 
   ...      リターン X [2 ] 
   ...:  
で[ 7]:ソート(グッズ、キー= min_one)    各リストへキーワードをソートするためのその第三の要素は、ソート 
OUT [7]:[[ ' アップル'である、2、20]、[ ' FISH '、3、30]、[。' 予約'、5、90 ]] 
で[8]:ソート(製品、キー= min_one)[0] [0]    は、最初のリストの最初の要素でソート結果から出力された 
アウト[8]:アップル

ラムダ匿名関数

いくつかの簡単な関数は、完全な機能的形態を記述することができないため、それは匿名関数の代わりに使用することができ、例えばラムダX:X ** 2等価

デフ楽しい(X): 

  リターンのx ** 2

[ルート@ centos01パイソン] 猫lambda_test.py コード:UTF-8 
の印刷マップ(ラムダ X:X ** 2、[1,2,3,4 ])
 印刷(減らすラムダ:、のx * yをX、Yを範囲(1,11 ))
 印刷フィルタ(ラムダ X:X%2 == 0、範囲(11 ))
[ルートの@ centos01パイソン] #のPythonのlambda_test.py 
[1、4、9、16 ]
 3628800 
[0、 2 、4、6、8、10]

 

おすすめ

転載: www.cnblogs.com/vaon/p/11120820.html