Python基礎文法5


6.集合

  • セットはポケットの中のデータです.
  • は、シーケンスなしです.
  • したがってインデックスもありません.
  • 重複データは含まれません.
  • 6.1コレクションの作成{}

    s = {1, 2, 3}
    s
    
    type(s)
    
    s[1]  ## 2가 나올것 같지만 error 가 뜬다.
          ## Indexing이 안되기 때문이다.
    
    s2 = {1, 2, 2, 3}  ## 중복이 허용이 안됨으로 2는 한번만 프린트 된다.
    s

    6.2集合の演算

    s1 = {1, 2, 3, 4, 5, 6}
    s2 = {2, 4 ,6, 8, 10, 12}

    6.2.1交差

    s1 & s2
    
    s1.intersection(s2)
    
    s2.intersection(s1)

    6.2.2合計

    s1 | s2
    
    s1 + s2  ## error가 뜬다
    
    s1.union(s2)  ## 위와 동일하게 합집합이 가능하다.

    6.2.3回の集合

    s1 - s2  ## 차집합에선 -사용이 가능하다.
    
    s2 - s1

    6.2.4サンプルリストで同じ単語を検索する

    news1 = "I am a boy."
    news2 = "You are a girl."
    
    # 2개의 뉴스 기사의 겹치는 단어의 종류.
    # 단어의 종류 수 == 서로 다른 단어의 개수
    # 겹치는 단어의 종류 == 2개의 뉴스 집합이 공통으로 가지고 있는 단어
    
    set(news1.split()) & set(news2.split())

    6.3集合相関関数


    6.3.1集合に要素を追加()

    s = set()  ## list와 tuple과는 다르게 [], {}만으론 set생성이 안된다.
    s
    
    s.add(1)
    s

    6.3.2コレクションに複数の要素updata()を追加する

  • およびコレクションとは異なりlist図コレクションに追加できます.
  • で作成したs自体を更新します.
  • s = {1, 2, 3}
    s.update({4, 5})  ## s.union({4, 5}) print결과는 갖지만 id가 다르다.
    s
    
    s.update([7, 8, 9])
    s

    6.3.3集合から要素を削除()

    s = {1, 2, 3, 4, 5, 7, 8, 9}
    s.remove(3)
    s
    
    ## 6.4 list를 set으로 변환시키기
    
    L = [1, 2, 2, 3, 3, 3, 4, 5, 5, 6, 7]
    set(L)