式のトリプレット:
構文:
左の場合、条件は、条件が戻り値の権利を保持していない他の条件を決定するために、戻り値を保持しています
# 需求: 让用户输入用户名,输入的用户如果不是tank,为其后缀添加_DSB username = input('请输入用户名:').strip() new_username = username if username == 'tank' else username + '_DSB' print(new_username)
式のリスト:
あなたは達成彼の党のリストを生成することができます。
構文:
リスト= [オブジェクトのそれぞれ任意の値に対して、それぞれに要する値は、反復イテラブルに取り出すことができます]
これは、サイクル数のための権利であり、各値イテレート可能オブジェクトを取り出すことができます
左が現在のリストに値を追加することができますするために
リストは= [各反復の値は、反復可能オブジェクトに引き出すことができます]
リスト= [オブジェクトが反復で決定された場合、反復の各値の値は、オブジェクトを取得することができるであってもよいです]
# 列表生成式 # 普通的 new_list = [] for i in range(1, 6): new_list.append(i) print(new_list) #列表 new_list = [i for i in range(1, 6)] print(new_list)
ジェネレータ式(式ビルダー)
1.発電機は何ですか?
生成ツール、ジェネレータは、基本的にイテレータカスタムイテレータです関数はyieldキーワードを含み、その関数を呼び出した場合、コードは、その機能を実行しない、すなわち、戻り値が量生成物を得ました。
リスト式:データ量hを使用している場合
利点:
あなたは、インデックス値に依存することができます
短所:
資源の無駄
ビルダー式:大量のデータを使用している場合
(範囲内の行のための行(1、6))---> G発生器(1、2、3、4、5)
利点:
資源の保存
短所:
値は便利ではありません
# 生成一个有1000个值的生成器 g = (line for line in range(1, 1000001)) # <generator object <genexpr> at 0x00000203262318E0> print(g) # 列表生成式实现 list1 = [line for line in range(1, 1000001)] print(list1)
無名関数
名前のない機能しません
パラメータが左で、右のは、戻り値があります
ラムダ:
PS:理由は、何名がないため、関数+の名前を呼んで()
匿名関数は、1回の使用が必要です。
注:だけでは無意味を使用して匿名関数は、「組み込み関数」と組み合わせて使用するように理にかなっています
内蔵機能
内蔵pythonの内部に設けられた方法
MAX、MIN、並べ替え、マップ、フィルタ
dict1 = { 'tank': 1000, 'egon': 500, 'sean': 200, 'jason': 500 } print(max(dict1, key=lambda x:dict1[x])) #max,最大。排序根据ASCII自码表排序的 print(min(dict1,key=lambda x:dict1[x]))# 最小的 new_list = sorted(dict1,key=lambda x: dict1[x],reverse=True) print(new_list)