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初期パラメータ値