• 2020. 6. 22.

    by. 윈썸지니

    반응형

    파이썬 집합(Set) 에 부분집합인지? 등의 불(bool) 값을 반환하는 메소드들을 소개합니다

     

    부분집합 확인

     

    파이썬에서 부분집합인지를 확인 할 수 있습니다.

    방법은 연산자 사용과 메소드를 사용 할 수 있습니다.

     

    연산자 : ‘<=‘

    메소드 : issubset()

     

    예로 집합1 이 집합2의 부분 집합인지?를 확인하는 법은 아래와 같습니다.

    집합1’ <= ‘집합2’

    집합1’.issubset(‘집합2’)

     

    예제 집합


    >>> x = { 1,2,3,4}
    >>> y = { 3,4, 5, 6}
    >>> z = {1, 2}

    ## x 는 y의 부분 집합이 아니므로 False 를 반환
    >>> x <= y
    False

    ## x 는 y의 부분 집합이 아니므로 False 를 반환
    >>> x.issubset(y)
    False

    ## z 는 y의 부분 집합이 아니므로 False 를 반환
    >>> z <= y
    False

    ## z 는 x의 부분 집합이므로 True 를 반환
    >>> z <= x
    True

    ## z 는 x의 부분 집합이므로 True 를 반환
    >>> z.issubset(x)
    True
    >>>

     

    확대집합 확인

     

    부분 집합의 반대 개념입니다.

     

    연산자 : ‘>=‘

    메소드 : issuperset()

     

    예로 집합1 이 집합2의 확대(포함하는) 집합인지?를 확인하는 법은 아래와 같습니다.

    집합1’ >= ‘집합2’

    집합1’.issuperset(‘집합2’)

    >>> x = { 1,2,3,4} 
    >>> y = { 3,4, 5, 6} 
    >>> z = {1, 2} 
    >>> z >= x 
    False 
    >>> x >= x 
    True 
    >>> y >= x 
    False 
    >>> x.issuperset(z) 
    True 
    >>> z >= x 
    False 
    >>> x >= z 
    True 
    >>> x.issuperset(x) 
    True 
    >>> x >= y 
    False 
    >>> y.issuperset(x) 
    False 
    >>> 

     

     서로 소인 집합 확인

    서로 소인 집합으로 교집합이 없는 집합이면 True를 있으면 False 를 반환합니다.

    메소드 : isdisjoint()

    예로 집합1 이 집합2의 확대(포함하는) 집합인지?를 확인하는 법은 아래와 같습니다.

    집합1’ >= ‘집합2’

    집합1’.issuperset(‘집합2’)

    >>> x = { 1,2,3,4}
    >>> y = { 3,4, 5, 6}
    >>> z = {1, 2}

    ## X와 Y 는 3 ,4 의 교집합이 있으므로 False
    >>> x.isdisjoint(y)
    False

    ## z와  Y는 교집합이 없으므로 True
    >>> z.isdisjoint(y)
    True
    ## 순서는 상관 없습니다.
    >>> y.isdisjoint(z)
    True
    >>> 

    이번 포스팅까지 집합에 대한 메소드 및 연산을 다루어 보았습니다.

     

    반응형