본문 바로가기
개발 Tools/파이썬_개념

파이썬 집합(set) (삭제, 수정, 추가, 함축, 연산)

by 전컴반 2021. 9. 17.
반응형

집합은 순서가 없고 unique 한 값을 갖는다.

 

선언

 

set1 = {1, 2, 3, 4}
set2 = set()
set3 = {1, 2, 3, 3, 3, 4}

print(set3)

출력
{1, 2, 3, 4}

 

set3처럼 여러 값이 중복해 들어가 있다면 알아서 제거해준다. 

 

항목 추가

 

set1 = {1, 2, 3}
set1.add(4)
print(set1)

set1.update([5, 6, 7])
print(set1)

출력
{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6, 7}

 

 

항목 제거

 

set1 = {1, 2, 3, 4}
set1.remove(3)
print(set1)

set1.discard(1)
print(set1)

출력
{1, 2, 4}
{2, 4}

 

똑같지 않냐고 물을 수 있지만 만약 없는 값을 지우려 했을 때,  remove는 에러가 나고 discard는 정상적으로 실행된다는 점에서 차이가 있다. 

 

함축

 

l1 = [1, 2, 2, 4, 5,]

result = { x for x in l1 if x%2==0 }
print(result)

출력
{2, 4}

 

집합 연산

 

set1 = {"a" ,"b", "c"}
set2 = {"a" ,"b", "c", "d"}

if set1 < set2:
	print("set1은 set2의 부분 집합입니다")
    
출력
set1은 set2의 부분 집합입니다

 

이렇게 부분집합을 검사할 수 있다.

반응형

댓글