사전자료형, 집합 자료형

jiwon·2022년 1월 9일
0

코테용 파이썬

목록 보기
4/11
post-thumbnail

사전자료형

사전 자료형은 key와 value의 쌍을 데이터로 가지는 자료형이다. 사전 자료형이 사용되는 대표적인 예시는 dictionary이다. 파이썬의 사전 자료형은 내부적으로 해시 테이블을 이용하므로 기본적으로 검색 및 수정에 있어서 O(1)의 시간에 처리할 수 있다.

data=dict()
data['사과']='apple'
data['바나나']='banana'

if '사과' in data:
	print('사과를 키로 가지는 데이터가 존재합니다.')

사전 자료형에 특정한 원소가 있는지 검사할 대는 '원소 in 사전'의 형태를 사용할 수 있다. (리스트나 튜플에 대해서도 사용할 수 있는 문법)

data=dict()
data['사과']='apple'
data['바나나']='banana'

#키 데이터만 담은 리스트
key_list=data.keys()
#값 데이터만 담은 리스트
value_list=data.values()

for key in key_list:
	print(data[key])

keys() 함수와 values() 함수를 사용하여 key/value 값을 뽑아낼 수 있다.

집합 자료형

파이썬에서는 집합(set)을 처리하기 위한 집합 자료형을 제공하고 있다. 집합은 다음과 같은 특징이 있다.

  • 중복을 허용하지 않는다.
  • 순서가 없다.

특정 원소가 존재하는지 검사하는 연산의 시간복잡도는 사전 자료형과 마찬가지로 O(1)이다.

#초기화 방법 1
data=set([1,2,3,4,4,5])
#초기화 방법2
data={1,2,3,4,4,5}

초기화 방법에는 위 두 가지가 있다. 4가 중복으로 들어가게 초기화했어도 print(data)해보면 {1,2,3,4,5}가 출력된다.

a=set([1,2,3,4,5])
b=set([3,4,5,6,7])

print(a|b) #합집합
print(a&b) #교집합
print(a-b) #차집합

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

기본적인 집합 연산으로는 합집합, 교집합, 차집합이 있다.

data=set([1,2,3])

#새로운 데이터 추가
data.add(4)

#새로운 데이터 여러 개 추가
data.update([5,6])

#특정한 값을 갖는 원소 삭제
data.remove(3)

데이터를 추가하거나 삭제하기 위해 add(), update() remove() 함수를 사용할 수 있다.

참고자료: 이코테 428p~432p

profile
개발 공부합니다. 파이팅!

0개의 댓글