1、機能紹介
Pythonの機能紹介
図2に示すように、変数のスコープ
3、再帰関数
仕事
#の仕事: #1、印刷サイクルのための乗算テーブル99を使用して #、2列のフィボナッチ再帰わずかな数、1,1,2,3,5,8を使用して... 。 用 I における範囲(1,10 ) のための J で範囲(1 ,. 1 + I :) プリント(F " {J} * {I} = {J} * I "、終了= ' ' ) を印刷() 印刷() #再帰関数 DEF FUNC(N-): IF。N - == 1 または N-2 == : リターン 1。 他: リターン FUNC(N - 1)FUNC +(2-N- ) N = 10 のLi = [] のための I における範囲(1、N + 1 ): RESの =のFUNC(I) li.append(RES) 印刷(「再帰関数」、李) #直接再帰 N-10 = LIS = [] のための I におけるレンジ(N): IF I == 0 又は I == 1 : lis.append( 1 ) 他: lis.append(LIS [I -1] +のLi [I-2 ]) 印刷(' 直接再帰'、LIS)
再帰関数10を求めて!
デフ楽しい(N): もし N == 1 : リターン 1 リターンのn *楽しい(N-1 ) 印刷(楽しい(10))
無名関数
高度な&のpython3イテレータとファンクション・ジェネレータ
リストビルダ
Liが[iが2 * = ための I に範囲(10 )]
プリント(LI)
例:3未満100の倍数を求めて
式のリスト リー = [] のための I における範囲(1,101 ): もし私%3 == 0: li.append(I) 印刷(LI) プリント([I 用 I における範囲(1,101)であれば、I%3 == 0]) もっと簡潔な方法: プリント([I 用 I における範囲(3,100,3)])
pythonの様々な派生(リスト内包、導出辞書、導出のセット)
図4に示すように、高次関数
低減()累積和例えば、1 + 2 + 3 + ... 100
低減(ラムダX、Y、X + Y、[1,2,3,4])
functools インポート削減
印刷((減らすラムダ:X + Y、[1,2,3,4,5])はx、y)を
!!#实现1 +2 +3 +4
プリント(減らす(ラムダX、Y:Xの* yを、[1,2,3,4,5]))
#!!实现1 +2 +3 +4 プリント(減らす(ラムダ X、Y:Xの* yを、[1,2,3,4,5 ])) #1-5は、各階層リストの数形成 DEF :FAT(N-) を返す削減(ラムダは、 X、Y:X * Y、範囲(1 ,. 1のn + )) を印刷(一覧(地図(FAT、範囲(1。 6 )))) #!!对1 .. + 5求和 合計=削減(ラムダのx、yは:X + Y、リスト(マップ(脂肪、範囲(1,6 )))) 印刷(合計)
フィルタ()関数のスクリーニング
マップは、()が提供する機能に応じて指定されたマッピング・シーケンスのために行います
ZIP()関数は、(オブジェクトの対応する要素は、リストとタプルのリストに充填される、パラメータとして反復目的のために使用することができます)
ソート()関数
(反復処理可能な、キー=なし、リバース=ソート偽)
反復処理可能 - イテラブルを。
キー - 主に比較の素子に用いられる、唯一つのパラメータは、特定のパラメータは、反復の関数は、対象から採取された反復の要素の一つをソートするように指定することができるです。
リバース照合を、= Trueの降順を逆転、= Falseの昇順(デフォルト)を逆に- 。
返却値
リストを再ソートする戻ります。
#ソート #の辞書 印刷(ソート({1:' D '、2 ' B '、3:' B '、4:' E '、5:' A ' })) #逆順用キー使用
の#デフォルトをソートキー、ソートされたリストを返し
ます。#辞書ソート値
ソート(辞書、ラムダX:辞書を[X]) example_list = [5,0 ,. 6 ,. 1,2 ,. 7 ,. 3 ,. 4 ] result_list =ソート(example_list、キー= ラムダX:X) プリント(result_list) example_list = [5、0、6、1、2、7、3、4 ] 印刷(ソート(example_list、逆= TRUE)) [ 1、2、3、4、5 ] [0、 1、2、3、4、5、6、7 ] 〔 7、6、5、4、3、2、1、0]
#リストの要素のうち、長さによってソート LI3 = [ ' A '、' AS '、' ZXC '、' SD ' ] 印刷(ソート(LI3、キー= ラムダX:LEN(X))) #[ 'A'、 'SD'、 'など' 'ZXC']
イテレータとジェネレータ
ジェネレータイテレータオブジェクトは、dictのですが、リスト、STR反復処理可能であるが(反復可能)、ないイテレータ(反復子)。
リスト、辞書は、strが反復処理可能イテレータのようになるITER()関数を使用することができます。
次の()関数の呼び出しことと次の目標値に連続的に呼ばイテレータを返すことがあります。Iteratorを。
ループに作用することができます人のために反復処理可能オブジェクトタイプです。
#イテレータITERので作成() のLi = [1,2,3,4 ] それは = ITER(LI) プリント(IT) 、印刷(次の(IT)) のための I におけるITER(それを): プリント(I、タイプ(I)) <0x0000000001D966A0でlist_iteratorオブジェクト> 1 2 < クラス ' int型' > 3 < クラス ' int型' > 4 < クラス ' int型' >
ジェネレータ