파이썬 - 집합

hueco·2020년 10월 24일
0

파이썬 기초

목록 보기
5/5
post-thumbnail

집합

집합은 리스트와 같이 정보를 여러 개 넣어서 보관할 수 있는 파이썬의 기능이다. 다만, 집합 하나에는 같은 자료가 중복되어 들어가지 않고, 자료의 순서도 의미가 없다는 점이 리스트와 다른 점이다.

num = set()
num.add(1)
num.add(2)
num.add(2)		# 이미 2가 집합에 있으므로 중복해서 들어가지 않는다.
print(num)
>> {1, 2}
print(len(num))		# 집합 num에는 자료가 두 개 들어있다.
>> 2
print({1, 2} == {2, 1})	# 자료의 순서는 무관하므로 {1, 2}와 {2, 1}는 같은 집합이다.
>> True

빈 집합을 만들려면 set()을 이용하고, 집합에 자료를 추가하려면 add() 함수를 이용한다.

자주 쓰는 집합 기능

- len(s): 집합의 길이(자료의 개수)를 구한다.

s = set()
print(len(s))		# 빈 집합이므로 0
print(len({1, 2, 3}))	# 자료 개수가 세 개이므로 3

- add(x): 집합에 자료 x를 추가한다.

s = {1, 2, 3}
s.add(4)		
print(s)		# s는 {1, 2, 3, 4}가 된다. (순서는 다를 수 있다.)

- discard(x): 집합에 자료 x가 들어 있다면 삭제한다.(없으면 변화 X)

s = {1, 2, 3}
s.discard(2)		
print(s)		# s는 {1, 3}이 된다.

- clear(): 집합의 모든 자료를 지운다.

s = {1, 2, 3}
s.clear()
print(s)		# s = set(), 빈 집합이 된다.

- x in s: 어떤 자료 x가 집합 s에 들어 있는지 확인한다.(x not in s 는 반대 결과)

s = {1, 2, 3}
print(2 in s)		# 2가 집합 s 안에 있으므로 출력값은 True
print(5 in s)		# 5가 집합 s 안에 없으므로 출력값은 False
print(5 not in s)	# 5가 집합 s 안에 없으므로 출력값은 True
profile
"포기하고 싶을때는 첫 시작을 기억하자"

0개의 댓글