リスト式、ジェネレータ式、匿名関数、とday13の三元表現、組み込み関数

式のトリプレット:

  • 構文:

    左の場合、条件は、条件が戻り値の権利を保持していない他の条件を決定するために、戻り値を保持しています

    # 需求: 让用户输入用户名,输入的用户如果不是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)

おすすめ

転載: www.cnblogs.com/lishuangjian/p/11861948.html