day 09まとめ

4026 ワード

1.集合set
  • セットはpython内蔵コンテナタイプ、可変(削除サポート)、無秩序(下付きはサポートされていません)形式{要素1、要素2、要素3..}要素要件:可変でユニーク(現在の可変形式シーケンス:辞書、リスト)
  • set1 = {1, 2, 3, 4, 'abc', 100}
    print(set1)
    

    1.調査
  • 集合は各要素を単独で取り出すことができず、for inサイクル
  • を巡るしかない.
    for item in set1:
        print(item)
    

    2.増加
    集合add指定した要素をコレクションに追加
    set2 = {1, 2, 100}
    set2.add(200)
    print(set2)
    #   .update(  )
    set2.update('abc')
    print(set2)
    #      key
    set2.update({'aa': 11, 'bb': 22})
    print(set2)
    

    3.削除
    集合remove()、指定した要素の元のセットを削除する操作
    set2.remove(200)
    print(set2)
    #   .clear(),    
    set2.clear()
    print(set2)
    #        ,{}       
    set3 = set()
    print(set3, type(set3))
    

    5.変更
  • コレクションは、要素変更
  • をサポートしていません.
    6.数学集合演算(集合運用ポイント)
  • は、関係(>=,<=)、並列、交差、差分、補完集合1>=集合2を含む-集合1に集合2集合1<=集合2を含むか否かを判定する-集合2に集合1
  • を含むか否かを判定する.
    print({1, 3, 2, 100} >= {1, 2, 3})
    print({1, 3, 2} > {1, 2, 3})
    print({1, 3, 2} >= {1, 2, 3})
    
  • 並列(|)
  • #   1 |   2 -    1   2                 (  )
    set1 = {1, 2, 4}
    set2 = {1, 3, 2}
    print(set2 | set1)
    
  • 交差(&)
  • #   1 |   2 -    1   2           
    print(set1 & set2)
    
  • 差分(-)
  • #   1 -   2   1       2           
    print(set2 - set1)
    print(set1 - set2)
    
  • 補完(^)2つの集合に共通部分のない連結print(set 2^set 1)
  • 7.関連操作
    # in / not in
    print(1 in {1, 2, 3})
    # set()
    print(set([19, 1, 2, 1]))
    
  • まとめ:集合の応用は主に脱重と集合の数学演算
  • に現れる.
    #   :                ,
    course1_names = ['   ', '   ', '   ', '   ', '  ']
    course2_names = ['   ', '   ', '   ', '   ', '  ']
    course3_names = ['   ', '   ', '   ', '   ', '  ']
    course1_names = set(course1_names)
    course2_names = set(course2_names)
    course3_names = set(course3_names)
    #         ,         
    #               
    onlyCourse1 = course1_names - course2_names - course3_names
    print(onlyCourse1, len(onlyCourse1))
    
    #             
    choose_3Course = course3_names & course2_names & course1_names
    print(choose_3Course, len(choose_3Course))
    
    #               
    # choose_2Course = ((course1_names & course2_names) | (course1_names & course3_names) | (course2_names & course3_names)) - choose_3Course
    choose_2Course = ((course1_names & course2_names) | (course1_names & course3_names)) ^ (course2_names & course3_names)
    
    print(choose_2Course, len(choose_2Course))
    #              
    # choose_1Course = (course3_names | course2_names | course1_names) - choose_2Course - choose_3Course
    choose_1Course = (course3_names ^ course2_names ^ course1_names) - choose_3Course
    print(choose_1Course, len(choose_1Course))
    

    2.容器まとめ
  • コンテナタイプ:文字列(str)、リスト(list)、元祖(tuple)、辞書(dict)、セット(set)
  • 特徴str:可変、秩序リスト:可変、秩序tuple:可変、秩序dict:可変、無秩序set:可変、無秩序
  • str:「hsj看護婦の日」,'aat 123'aaa"345','u 3467'\u 3 fd 3'%c'%(0 x 4 eff)(pythonの文字列は、単一引用符、二重引用符、または3つの二重引用符であってもよい)
  • list:[要素1,要素2,...]要素は任意のタイプのデータであってもよく、タイプは一致しなくてもよく、要素は
  • を繰り返すことができる.
  • tuple:(要素1、要素2、...)、要素は任意のタイプのデータであってもよく、タイプは一致しなくてもよく、要素は
  • を繰り返すことができる.
  • dict: {key1: value1, key2: value2, ...}, keyは可変で、唯一です.valueは任意のタイプのデータであってもよく、タイプが一致しなくてもよく、set:{要素1、要素2、...}を繰り返すことができます.要素は可変で、唯一の
  • です.
  • 増list:リスト.append(要素)、リスト.insert(下付き、要素)dict:辞書[key]=値、辞書.setdefault(key,値)set:集合.add(要素)
  • 削除list:delリスト[下付き]、リスト.pop()リスト.pop(下付き)、リスト.remove(要素)dict:del辞書[key]、辞書.pop(key)set:集合.remove(要素)
  • 改list:リスト[下付き]=新値dict:辞書[key]=新値
  • strを調べる:単一(下付き)、スライス、遍歴list:単一(下付き)、スライス、遍歴tuple:単一(下付き)、スライス、遍歴dict:単一(key)、遍歴(遍歴key)set:遍歴
  • str:単独文字データ使用文字列(数字、およびブールで表される他のデータを除く)list:同じ意味を持つ複数のデータを保存tuple:複数のデータの値または順序が変更できない場合に元祖を使用(いくつかの特殊な意味を持つ値を除いてクラスは曜日のように、一般的に元祖を容器として選択しない)dict:同時に保存する複数のデータを区別する必要がある場合set:他のコンテナのデータを重み付けするか、数学集合演算
  • を行う