..

Search

11) 집합

집합(set)


집합(set)

파이썬에서 집합(set)이란 중복되는 원소가 없이, 순서에 상관없는 데이터들의 묶음입니다.

데이터의 중복을 허용하지 않기 때문에 중복되는 원소가 있다면 하나만을 저장합니다.

또한, 순서가 없기 때문에 리스트처럼 인데스 번호를 사용하여 특정 값에 접근할 수는 없습니다.

 

파이썬에서 집합은 리스트나 문자열을 사용하여 생성할 수 있습니다.

집합은 중괄호({})로 감싸서 나타내며, set 함수를 사용하여 리스트나 문자열을 전달받아 생성할 수도 있습니다.

 

예제

myscores = [100,70,88,25]

 

s1 = set(myscores)

print(s1)

 

s2 = {1, 2, 3}

s3 = {1, 3, 3}

print(s2, s3, s2-s3)

코딩연습 ▶

실행 결과

{88, 25, 100, 70}

{1, 2, 3} {1, 3} {2}

 

위의 예제에서 리스트인 변수 myscores를 set 함수를 사용하여 집합으로 만들면, 중복 원소가 존재하지 않기 때문에 그대로 집합을 생성하여 반환합니다.

이때 집합은 순서가 없기 때문에 원래 리스트와는 그 순서가 일치하지 않을 수도 있습니다.

 

하지만 변수 s3에 저장되는 집합에는 3이라는 값이 중복되어 있므로, 변수 s3에는 실제로 {1,3}의 형태로 데이터가 저장됩니다.

 

파이썬에서는 교집합은 &연산자를 사용하여, 합집합은 | 연산자를 사용하여, 차집합은 – 연산자를 사용하여 표현할 수 있습니다. 단, 여집합을 표현하는 연산자는 별도로 존재하지 않습니다.

연습문제