day 8ノート整理

7906 ワード

1.元祖
1.1元祖(tuple)とは
元祖はpythonが提供するコンテナ型データ型(シーケンス)、可変(特色)、秩序元祖は可変のリストであり、一般的には修正されないデータ(要素1、要素2、要素3...)を保存する.
1.2元素
空の元祖tuple 1=()print(tuple 1,type(tuple 1))
  • 要素の個数は1の元祖です:1つの元祖の中に1つの要素しかない場合、この要素の後ろにカンマを付けなければなりません!tuple2 = (10,) print(tuple2, type(tuple2))

  • 元祖データ中括弧は省略できます.(複数のデータはカンマで直接区切られ、元祖を表す)tuple 3=10,23,89,'小明'print(tuple 3,type(tuple 3))

  • 1.3要素の取得:リストと同様
    tuple 2=('月曜日','火曜日','水曜日','木曜日','金曜日')print(tuple 2[1])print(tuple 2[2:])for item in tuple 2:
    print(item)
    
  • 変数の個数を元祖の要素の個数と一致させて、元祖の各要素の値point=(100,50)x,y=point print('x:',x,'y:',y)
  • を1つずつ取得する

    a, b, c = 10, 20, 30 # a, b, c = (10, 20, 30)
  • 複数の変数に元祖の要素を同時に取得させる場合、1つの変数の前にこの変数をリストに追加して、持たない変数取得後の残りのデータを取得することができます.(注意*付き変数は1つのみ)student=('小明',18,89,68,89,90,'abc')name,age,*scores=student print(name,age,scores)#小明18[89,68,89,90,100]

  • name,*scores,age,a=student print(name,age,scores,a)#明ちゃん90[18,89,68,89]100
    *items,a,b=student print(items,a,b)#['小明',18,89,68,89]90 abc
    2辞書
    2.1.辞書(dict)とは
    辞書はpythonが提供するコンテナ型データ型(シーケンス)、可変、無秩序
    2.2.辞書の要素
    {キー値対1,キー値対2,キー値対3,...}-辞書の要素は、キー値対キー値対-キー:値'の形式でキー(key)が現れる-要求は可変ではなく、一意(文字列をキーとして推奨し、値を説明して区別するために使用される)値(value)-任意のタイプのデータは、値dict 1={10:100,'name':100,(1,2):100,'a':'abc','b':True,'c':[1,2],'d':{a':2}}print(dict 1)として使用できます.
    dict2 = {10: 100, 'name': 100, [1, 2]: 100} # TypeError: unhashable type: 'list' dict1 = {10: 100, 'name': 100, {'a': 1}: 100} # TypeError: unhashable type: 'dict'
    dict1 = {10: 100, 'name': 100, (1, 2): 100, 10: 200} print(dict1) # {10: 200, 'name': 100, (1, 2): 100}
    2.3.要素の操作
  • -取得値""
  • 辞書[key]-辞書のkeyに対応するvalueを取得します.(keyが存在しなければ誤報!)
  • 辞書get(key)-辞書のkeyに対応するvalueを取得します.(keyが存在しなければ間違いを報告しない、結果はNone)辞書.get(key、デフォルト)-辞書のkeyに対応するvalueを取得します.(keyが存在しない場合はエラーを報告せず、結果はデフォルト)""
  • dog = {'name': '  ', 'color': '  ', 'age': 3, 'type': '  '}
    print(dog['type'])
    # print(dog['gender'])     # KeyError: 'gender'
    
    print(dog.get('name'))
    print(dog.get('gender'))     # None
    print(dog.get('age', 100))
    print(dog.get('gender', '  '))   #   
    

    """
    2.4.辞書を遍歴する
    直接forループを介して辞書を巡回すると、すべてのkey""print('============================')が取得されます.
  • 1.直接遍歴(これのみ)for key in dog:print(key,dog[key])
  • 2.間接遍歴print('====================')print(dog.values()for value in dog.values(): print(value)

  • print('====================') print(dog.items()) for key, value in dog.items():
    print(key,  value)
    
  • 「辞書[key]=value-keyが存在する場合、keyに対応する値を変更します.keyが存在しない場合、キー値ペアを追加します」
  • class1 = {'name': 'py1902', 'address': '19 5  '}
    print(class1)   # {'name': 'py1902', 'address': '19 5  '}
    
    #  
    class1['num'] = 50
    print(class1)    # {'name': 'py1902', 'address': '19 5  ', 'num': 50}
    
    #  
    class1['name'] = 'python1902'
    print(class1)
    
  • 削除""
  • del辞書[key]-辞書で指定したkeyに対応するキー値のペアを削除します.keyが存在しない場合は
  • とエラーが発生します.
  • 辞書Pop(key)-辞書のkeyに対応する値を取り出します.keyが存在しない場合はエラーを報告します」「
  • class2 = {'name': 'python1902', 'address': '19 5  ', 'num': 50}
    del class2['num']
    print(class2)    # {'name': 'python1902', 'address': '19 5  '}
    
    name = class2.pop('name')
    print(class2, name)
    

    2.5. 辞書関連アクション
  • 演算子:数学演算はサポートされていません.比較演算子は比較的等しいもののみをサポートします.比較サイズprintはサポートされていません({'a':100,'b':10}={'b':10,'a':100})#True
  • in/not in

  • # key in       -              key
    class2 = {'name': 'python1902', 'address': '19 5  ', 'num': 50}
    print('name' in class2)    # True
    print(50 not in class2)    # True
    
  • len print(len(class2))

  • dict""辞書に変換できるデータ要件:データ自体はシーケンスであり、シーケンス内の各要素も長さが2のシーケンスであり、小シーケンスの最初の要素は可変ではない""
  • data = [(1, 2), ['a', 23]]
    print(dict(data))
    
    dict2 = {'a': 10, 'b': 20}
    print(list(dict2))    # ['a', 'b']
    

    2.6.関連メソッド
  • clear""辞書.clear()-辞書をクリア""dict 2={'a':10,'b':20}dict 2.clear() print(dict2)

  • 2)copy""辞書.copy()-辞書のキー値ペアをコピーして新しい辞書を生成する""dict 2={'a':10,'b':20}dict 3=dict 2 dict 3['a']=100 print(dict 2)#{'a':100,'b':20}
  • dict2 = {'a': 10, 'b': 20} dict3 = dict2.copy() dict3['a'] = 100 print(dict2) # {'a': 10, 'b': 20}
  • 3)fromkeys""dict.fromkeys(シーケンス、値)-新しい辞書を作成します.辞書のkeyはシーケンスの要素で、keyに対応するvalueは値です."new_dict = dict.fromkeys('hello', 100) print(new_dict)
  • 4)keys, values,items""辞書.keys()−辞書内のすべてのkeyを取得し、結果はシーケンス辞書.values()−辞書内のすべてのvalueを取得し、結果はシーケンス辞書.items()−辞書内のkeyとvalueを取得し、keyとvalueは元祖として返される""students={'name':'張三','age':18,'stu_id':'stu 001','gender':'女'}print(students.keys()print(students.values()) print(students.items())
  • 5)setdefault""辞書.setdefault(key,value)-キー値ペアを追加(変更不可)""students.setdefault('tel', '15300022783') print(students)
  • 6)update""辞書1.update(辞書2)-辞書2のキー値ペアを使用して辞書1を更新する(追加、変更は存在しない)""dict 1={'a':1,'b':2,'c':3}dict 2={'b':200,'d':300,'e':400}dict 1.update(dict2) print(dict1) # {'a': 1, 'b': 200, 'c': 3, 'd': 300, 'e': 400}

  • 3セット
    3.1.集合(set)とは
    コンテナ型データ型(シーケンス)、可変、無秩序
    3.2.コレクション内の要素
    {要素1,要素2,要素3,...}要素:可変、一意(重み付け機能付き)注意:{}空を表す集合ではなく、set()-空集合set 1=set()set 2={1,'abc',(1,3),False,1,1}print(set 2)#{False,1,(1,3),'abc'}
    集合はstr 1='hekskfahheuwjseaa'print('.join(set(str 1))を除去することができる.
    list1 = [1, 34, 34, 2, 2] # hfkaweujs print(list(set(list1))) # [1, 34, 2]
    3.3.要素関連アクション
  • ルックアップセットは、指定された要素を単独で取得することはできません.print('======================')set 3={12,34,56,2,7,88}for x in set 3:print(x)
  • をサポートします.
  • 「集合.add(要素)-集合に要素集合を追加.update(シーケンス)-集合に要素を追加(重量を除く)」「set 1={1}print(set 1)set 1.add(100) print(set1)


  • set1.update('abc') print(set1)
    set1.update({'name':'張三','age':20})print(set 1)
  • 削除""集合.remove(要素)-集合で指定した要素を削除します.(要素が存在しないとエラーが発生します!)""set4 = {1, 'b', 100, 'a', 'age', 'c', 'name'} set4.remove(100) print(set4)

  • (*)4.数学集合演算set 1={1,2,3,4,5,6}set 2={4,5,6,7,8}
  • #    :class1, class2
    
     1)   : |
    """
      1 |   2   -                   
    """
    print(set1 | set2)
    
     2)   : &  -           
    print(set1 & set2)  # {4, 5, 6}
    
     3)   :   1 -   2   ---     1     2     
    print(set1 - set2)  # {1, 2, 3}
    print(set2 - set1)  # {7, 8}
    
     4)   :   1^  2    ---                
    print(set1 ^ set2)
    
     5)     
    """
      1 >=   2   -    1       2
      1 <=   2   -    2       1
    """
    print({5, 6, 7, 8, 9} >= {1, 2, 3})    # False
    print({5, 6, 7, 8, 9} >= {5, 9})    # True