システム学習python 6日目学習ノート

7089 ワード

1.補足
1.リストメソッド補完
  • reverse、反転.
    v1 = [1,2,3111,32,13]
    print(v1)
    v1.reverse()
    print(v1)
  • sort,ソート
    v1 = [11,22,3111,32,13]
    print(v1)
    
    # v1.sort(reverse=False) #     (  )
    # v1.sort(reverse=True) #     
    # print(v1)
  • 2.辞書メソッドの補足
  • keys/values/items
  • get
  • 辞書にキーが存在するか否かを判断する、存在しない場合はNoneを返し、存在する場合は対応する値を取り変数
  • に付与する.
    info = {'k1':'v1','k2':'v2'}
    
    # v1 = info['k11111']
    # v2 = info.get('k1111') # None  Python   
    # v3 = info.get('k1111',666)
    # print(v2)
    
    # None    ,      (     ,        )
  • pop
  • 削除、delで
  • 削除することもできます
    info = {'k1':'v1','k2':'v2'}
    result = info.pop('k2')
    print(info,result)
    
    del info['k1']
  • update
  • が存在しなければ追加/存在し、
  • を更新する.
    info = {'k1':'v1','k2':'v2'}
    
    #    ,   /  ,   
    info.update({'k3':'v3','k4':'v4','k2':666})
    print(info)

    3.文字列に機密文字があるかどうかを判断します.
  • str
    v = "Python  21 "
    
    if "  " in v:
        print('     ')
  • list/tuple
    v = ['alex','oldboy','   ','   ']
    
    if "   " in v:
        print('   ')
    
  • dict
    v = {'k1':'v1','k2':'v2','k3':'v3'}
    
    #        , :  x       。
    if 'x' in v:
        pass 
    
    #    :k1      ?
    if 'k1' in v:
        pass
    #    :v2      ?
    #    :    
    flag = '   '
    for v in v.values():
        if v == 'v2':
            flag = '  '
    print(flag)
    #    :
    if 'v2' in list(v.values()): #         ['v1','v2','v3']
          pass
    #    :k2:v2      ?
    value = v.get('k2')
    if value == 'v2':
        print('  ')
    else:
        print('   ')
    
  • 練習問題
    #           ,                   。
    
    char_list = ['   ','   ','   ']
    content = input('     :') #        /        /      
    
    success = True
    
    for v in char_list:
        if v in content:
            success = False
            break
    
    if success:
      print(content)
    else:
        print('      ')
    
    #   :
    # 1.         
    # 2.    ‘v2’       value  v = {'k1':'v1','k2':'v2','k3':'v3'} 【    】
    # 3.    
  • 注意点:
  • は、ステータス
    char_list = ['   ','   ','   ']
    content = input('     :')
    success = True  #       
    for v in char_list:
        if v in content:
            success = False
            break
    if success:
        print(content)
    else:
        print('      ')
  • を判断するためのラベルを設定することができる.
    2.集合set
  • の特徴
  • 無秩序
  • 重複なし
  • 空の集合の作成
    v = {1,2,3,4,5,6,99,100}
    
    #   :v = {}
    """
    None
    int
        v1 = 123
        v1 = int() --> 0
    bool
        v2 = True/False
        v2 = bool() -> False
    str
        v3 = ""
        v3 = str()
    list
        v4 = []
        v4 = list()
    tuple
        v5 = ()
        v5 = tuple()
    dict
        v6 = {}
        v6 = dict()
    set
        v7 = set()
    """
  • 集合独自機能
  • add追加
    # v = {1,2}
    # v.add('Lishaoqi')
    # v.add('Lishaoqi')
    # print(v)
  • discard削除
    # v = {1,2,'   '}
    # v.discard('   ')
    # print(v)
  • update一括追加
    # v = {1,2,'   '}
    # v.update({11,22,33})
    # print(v)
  • intersection交差
    # v = {1,2,'   '}
    # result = v.intersection({1,'   ','  '})
    # print(result)
  • unionパラレル
    # v = {1,2,'   '}
    # result = v.union({1,'   ','  '})
    # print(result)
  • difference差分セット
    # v = {1,2,'   '}
    # result = v.difference({1,'   ','  '}) # v   {1,'   ','  '}  
    # print(result)
    
    # v1 = {1,'   ','  '}
    # result1 = v1.difference({1,2,'   '})
    # print(result1)
  • symmetric_difference対称差セット
    # v = {1,2,'   '}
    # result = v.symmetric_difference({1,'   ','  '})
    # print(result)
  • 注意:交差、並列、および差カッコ内でパラメータが入力された場合、同じ集合でもよいし、リストおよびメタグループでもよい
  • 共通機能
  • len
    v = {1,2,'   '}
    print(len(v))
  • forサイクル
    v = {1,2,'   '}
    for item in v:
        print(item)
  • インデックス【なし】
  • ステップ【なし】
  • スライス【なし】
  • 削除【なし】
  • 修正【なし】
  • ネストされた問題
  • ハッシュ問題
  • リスト/辞書/コレクション:コレクションに置くことも辞書のkey(unhashable)にすることもできません.
    # 1.   /  /   ->        +       key(unhashable)
    # info = {1, 2, 3, 4, True, "  ", None, (1, 2, 3)}
    # print(info)
    # 2. hash ->        ?
    #                      (      ),        。
    
    # 3.     
    # info = {0, 2, 3, 4, False, "  ", None, (1, 2, 3)}
    # print(info)
    #      False
    
    # info = {
    #     1:'alex',
    #     True:'oldboy'
    # }
    #     key True  ,  'oldboy' 'alex'  
    # print(info)

    3.メモリ関連
  • 例1
    v1 = [11,22,33]
    v2 = [11,22,33]
    
    v1 = 666
    v2 = 666
    
    v1 = "asdf"
    v2 = "asdf"
    
    #    v1   v2           。  :
    1.   :  -5 ~ 256 
    2.    :"alex",'asfasd asdf asdf d_asdf '   ----"f_*" * 3  -       。
  • 特殊:
    #    v1   v2           。  :
    1.   :  -5 ~ 256 
    2.    :"alex",'asfasd asdf asdf d_asdf '   
        ----"f_*" * 3  -       。
  • 例2:
    v1 = [11,22,33,44]
    v1 = [11,22,33]
  • 例3:
    v1 = [11,22,33]
    v2 = v1 
    
    #   1 (    )
    v1 = [11,22,33]
    v2 = v1 
    v1.append(666)
    print(v2) #   666
    
    #   2:(    )
    v1 = [11,22,33]
    v2 = v1 
    v1 = [1,2,3,4]
    print(v2)
    
    #   3:(    )
    v1 = 'alex'
    v2 = v1
    v1 = 'oldboy'
    print(v2)
  • 例四
    v = [1,2,3]
    values = [11,22,v]
    
    #   1:
    """
    v.append(9)
    print(values) # [11,22,[1,2,3,9]]
    """
    #   2:
    """
    values[2].append(999)
    print(v) # [1, 2, 3, 999]
    """
    #   3:
    """
    v = 999
    print(values) # [11, 22, [1, 2, 3]]
    """
    #   4:
    values[2] = 666
    print(v) # [1, 2, 3]
  • 例5
    v1 = [1,2]
    v2 = [2,3]
    
    v3 = [11,22,v1,v2,v1]
    
  • メモリアドレス
    """
    v1 = [1,2,3]
    v2 = v1
    v1.append(999)
    print(v1,v2)
    print(id(v1),id(v2))
    """
    
    """
    v1 = [1,2,3]
    v2 = v1
    print(id(v1),id(v2))
    v1 = 999
    print(id(v1),id(v2))
    """
  • を表示
  • 問題:==isと何の違いがありますか?
    v1 = [1, 2, 3, 4]
    v2 = [1, 2, 3, 5, 6]
    v1 == v2  ----> False
    v1 is v2  ----> False
    
    v1 = [1, 2]
    v2 = [1, 2]
    v1 == v2  ----> True
    v1 is v2  ----> False
    
    v1 = [1, 2, 3]
    v2 = v1
    v1 == v2  ----> True
    v1 is v2  ----> True
  • ==値が等しいかどうかを比較するために使用されます.
  • isは、メモリアドレスが等しいかどうかを比較するために使用される.