Pythonの基礎 - 組み込みの関数フィルタ、削減

movie_people = [ " SB + 1 _alex "" sb_wupeiqi "" " ] 


#1 デフfilter_test(アレイ):      RET = []      アレイ内のpの:         ない場合p.startswith( 'SB'):
#1              RET。追加(P)
#1      リターンRET 
#1 
#の端= filter_test(movie_people)
#1 プリント(終了)





movie_people = [ "アレックス"、 "sb_wupeiqi"、 "han_sb"] 
#1 デフsb_show(N):
#1      戻りn.endswith( 'SB') filter_test DEF(FUNC、アレイ):      RET = []      配列におけるP用:         IFないFUNC(P):
#1              ret.append(P)
#1      リターンRET 
#の
#の終わり= filter_test(sb_show、movie_people) 印刷(終了)



究極のバージョンラムダN-:n.startwith(「SB」)

DEF filter_test(FUNC、アレイ): 可能な限り、グローバル変数の値を変更する関数の呼び出しで、入ってくるグローバル変数を指示しないようにしようという注意、使用パラメータ設定 
    RET = []
     のための P 配列:
         IF  ていないFUNC(P):
            ret.append(P)

    リターンRET 
RES = filter_test(ラムダ N:n.startswith(' SB ' )、movie_people)
 プリント(RES)

#1 フィルタ函数
プリント(リスト(フィルタ(ラムダ N:しない n.startswith(' SB ')、movie_people)))

 

NUM_1 = [1,2,3,4,5,6,100 ] 
のRES = 0
 のために NUM NUM_1:
    RES + = NUMの
 プリント(RES) 




デフマルチ(X、Y):      リターンX *はYの

#のラムダ:X、 Y:X * Y 




#1 num_l = [1,2,3,100] DEF reduce_test(FUNC、アレイ):
#1      RES =配列[0]      アレイ内numの:
#1          RES =のFUNC(RES、NUM)      戻りのRES プリント(reduce_test(ラムダX、Y:Xの* yを、num_l))




num_l = 1,2,3,100 ]
 DEF(reduce_test FUNC、アレイ、INIT =なし):
     #1 変数なししばしば存在しないかどうかを決定するためのコード、三つの主要な文言がある:
    最初のものはありません
    `X-IFはなしIS 
    `; 
    第二は、
    `IFないX-:`; 
    第三は、
    Xは、どれもでない場合、 ` 
    `(より明確に理解フレーズ
    `ない(Xはなし)されている場合は
    `)
    のiF   ないのinit: どうかなしのinit 
        RES = Array.pop(0)
     
        RES = INIT
     ため NUM 配列:
        RES = FUNC(RES、NUM)
     リターンRES
 プリント(reduce_test(ラムダ X、Y:X * Y、num_l、100 ))


から functoolsはインポート減らす
 :最終結果の配列由来のマージ機能を低下させる
プリント(減らす(ラムダ X * Y、num_l、100):X、Yを)

 

#シーケンスの各要素を処理し、結果は「リスト」、「リスト」と原と同じ位置の要素数である
#マップ()


シーケンスの各要素を介し#fileter、ブールの各要素を決定します値は、真の結果を与えるために残されている場合は、リストである
{:「名前」人= [ 「アレックス」、「年齢」:10000}、{「名」:「漢」、「年齢」:1000}、{ "名前": "OU"、 "年齢":18}]である

(:P [ '年齢'] <= 18であり、人))一覧(フィルタ(ラムダP)プリント



#reduce:処理シーケンス、およびシーケンスをマージ操作
減らすfunctoolsインポートから
プリント(減らす(ラムダX、Y:X + Y、範囲(100)、100))#3初期パラメータ値

おすすめ

転載: www.cnblogs.com/tangcode/p/10991678.html