본문 바로가기

Programming/Python

[Python] 집합(Set)과 딕셔너리(Dictionary)

파이썬의 컨테이너 자료형(여러개의 데이터가 묶여있는 자료형)에 대표적으로 리스트, 튜플, 딕셔너리, 집합이 있다. 보통 리스트를 쉽게 많이 사용하지만, 알고리즘을 풀다보면 경우에 따라 더 유용하게 쓸 수 있는 자료형이 있다. 그 중 집합과 딕셔너리는 시간복잡도를 줄일 수 있는 방법이 되기도 한다. 

 

 


 

집합(Set)

1. 중복이 없다.

2. 순서가 없다.

집합 생성과 원소 추가/삭제

s = {1, 3, 5} 
s.add(7) 
s.update([3, 15, 4]) 
s.remove(5) 			# 원소가 존재하지 않으면 에러
s.discard(13)			# 원소가 존재하지 않더라도 정상종료

집합 연산

union = s1 | s2 		# 합집합
intersection = s1 & s2 		# 교집합
diff = s1 - s2	 		# 차집합
xor = s1 ^ s2 			# XOR

 

 

딕셔너리(Dictionary)

1. 키(Key) : 값을 찾기 위한 데이터, 변할 수 없는 값만이 Key가 될 수 있다.

2. 값(Value) : 찾고자 하는 데이터이다.

딕셔너리 생성과 원소 추가/삭제

dict = {} 
dict = { 
 'apple': '사과', 
 'pear': '배', 
}
dict['strawberry'] = '딸기'
del(dict['apple'])		# 삭제
dict.pop('pear')		# 삭제와 동시에 삭제된 값을 반환

 

728x90
728x90