상세 컨텐츠

본문 제목

집합에 대한 기초 정리

Python

by techbard 2015. 7. 24. 18:03

본문

반응형

 

  • 집합
    • 요소 내에 중복을 제거해서 유일한 요소만 남긴다.
    • 순서를 가지지 않는다.

 

# 합집합 연산

def main():

    u1 = {1, 3, 5}
    u2 = {2, 4, 6}

    us = u1 | u2
    print(us)

    print('\t')
    us.clear()

    us = set.union(u1, u2)
    print(us)

    pass

if __name__ == '__main__':
    main()

#결과
{1, 2, 3, 4, 5, 6}
	
{1, 2, 3, 4, 5, 6}

 

# 차집합 연산

def main():

    u1 = {0, 1, 2}
    u2 = {0}

    us = u1 - u2
    print(us)

    us.clear()

    print('\t')

    us = set.difference(u1, u2)
    print(us)

    pass

if __name__ == '__main__':
    main()

#결과
{1, 2}
	
{1, 2}

 

# 교집합 연산

def main():
    u1 = {'apple', 'banana', 99, 100}
    u2 = {'apple', 100}

    us = u1 & u2
    print(us)

    print('\t')
    us.clear()

    us = set.intersection(u1, u2)
    print(us)

    pass

if __name__ == '__main__':
    main()

#결과
{100, 'apple'}
	
{100, 'apple'}

 

# 대칭차집합 연산

def main():

    u1 = {1, 2, 3}
    u2 = {2, 3, 4}

    us = u1 ^ u2
    print(us)

    print('\t')

    us.clear()

    us = set.symmetric_difference(u1, u2)
    print(us)

    pass

if __name__ == '__main__':
    main()

# 결과
{1, 4}
	
{1, 4}

 

# 중복 제거

def main():

    # 중복 제거 - set
    ls = [10, 34, 5, 1, 5, 1]
    ue = set(ls)

    # 중복 제거는 되지만 순서 보장 X
    print(ue)

    # 중복 제거 & 순서 보장 - dict 메서드
    ue = list(dict.fromkeys(ls))
    print(ue)

    pass

if __name__ == '__main__':
    main()

#결과
{1, 10, 34, 5}
[10, 34, 5, 1]

 

# set 간 겹침 요소 확인

def main():

    u1 = {1, 2, 3}
    u2 = {2, 3, 4}

    # 겹치는 요소가 없으면 True, 있으면 False
    isDuplicate = u1.isdisjoint(u2)

    print(u1, '-', u2)

    if not isDuplicate:
        print('겹치는 요소가 있다.')
    else:
        print('겹치는 요소가 없다.')
    pass

    print('\t')

    u3 = {1, 2, 3}
    u4 = {4, 5, 6}

    isDuplicate = u3.isdisjoint(u4)

    print(u3, '-', u4)

    if not isDuplicate:
        print('겹치는 요소가 있다.')
    else:
        print('겹치는 요소가 없다.')
    pass

if __name__ == '__main__':
    main()
 
 #결과
 {1, 2, 3} - {2, 3, 4}
겹치는 요소가 있다.
	
{1, 2, 3} - {4, 5, 6}
겹치는 요소가 없다.
반응형

관련글 더보기

댓글 영역