반응형
# 사전 자료형
- 사전 자료형은 키(key)와 값(value)의 쌍을 데이터로 가지는 자료형
- 사전 자료형은 키와 값의 쌍을 데이터로 가지며, 원하는 '변경 불가능(Immutable) 자료형을 키로 사용
- 파이썬의 사전 자료형은 해시 테이블을 이용하므로 O(1)의 시간 처리를 가짐
data = dict()
# key 값 / value 값
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'
print(data)
=>{'사과':'Apple','바나나':'Banana','코코넛':'Coconut'}
if '사과' in data:
print("사과를 키로 가지는 데이터가 존재합니다')
=>"사과를 키로 가지는 데이터가 존재합니다'
# 사전 자료형 관련 메서드
- keys() : key 데이터만 뽑아서 리스트로 출력
- values() : value 데이터만 뽑아서 리스트로 출력
data = dict()
# key 값 / value 값
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'
# key 데이터를 가지고 온다
key_list = data.keys()
# value 데이터를 가지고 온다.
value_list = data.values()
print(key_list)
=> dict_keys(['사과','바나','코코넛'])
print(value_list)
=> dict_keys(['Apple','Banana','Coconut'])
# 리스트 형태로 값 받기
print(list(key_list))
=>['사과','바나','코코넛']
print(list(value_list))
=>['Apple','Banana','Coconut']
# 각 키에 따른 값을 하나씩 출력
for key in key_list:
print(data[key])
=>Apple
=>Banana
=>Coconut
#집합 자료형
특징
- 중복을 허용 하지 않음
- 순서가 없다
집합은 리스트 혹은 문자열을 이용해 초기화한다.
- set() 함수를 사용
- 중괄호({}) 안에 원소를 콤마를 기준으로 삽입하여 초기화 가능
데이터 조회 및 수정에 있어 O(1) 시간에 처리할 수 있다.
# 집합 자료형 생성 방법 - 1
data = set([1,1,2,3,4,4,5])
print(data)
=> {1,2,3,4,5} # set은 중복을 제거한다. 그래서 중복되지 않는 5가지의 값만 나온다.
# 집합 자료형 초기화 방법 - 2
data = {1,1,2,3,4,4,5}
print(data)
=> {1,2,3,4,5}
# 집합 자료형의 연산
- 합집합 , 교집합, 차집합이 가능하다.
a = set([1,2,3,4,5])
b = set([3,4,5,6,7])
# 합집합
print(a|b)
=>{1,2,3,4,5,6,7}
# 교집합
print(a & b)
=>{3,4,5}
# 차집합
print(a-b)
=>{1,2}
# 집합 자료형 관련 함수
data = set([1,2,3,])
print(data)
=>{1,2,3}
# 새로운 원소 추가
data.add(4)
print(data)
=>{1,2,3,4}
#새로운 원소 여러개 추가
data.update([5,6])
print(data)
=>{1,2,3,4,5,6}
#특정한 값을 갖는 원소 삭제
data.remove(3)
print(data)
=>{1,2,4,5,6}
# 사전 자료형과 집합 자료형의 특징
- 리스트나 튜플은 순서가 있기 때문에 인덱싱을 통해 자료의 값을 얻을 수 있다.
- 사전 자료형과 집합 자료형은 순서가 없기 떄문에 인덱싱으로 값을 얻을 수 없다.
- 사전의 키(key) 혹은 집합의 원소(Element)를 이용해 O(1)의 시간 복잡도로 조회한다.
이 자료는 동빈 나 님의 이코테 유튜브 영상을 보고 정리한 자료입니다.
참고 : www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC
반응형
'Algorithm' 카테고리의 다른 글
[Algorithm] 8 강 : 파이썬 문법 - 조건문 (0) | 2020.10.20 |
---|---|
[Algorithm] 7 강 : 파이썬 문법 - 기본 입출력 (0) | 2020.10.19 |
[Algorithm] 5 강 : 파이썬 문법 - 문자열 자료형, 튜플 자료형 (0) | 2020.10.16 |
[Algorithm] 4 강 : 파이썬 문법 - 리스트 자료형 (0) | 2020.10.15 |
[Algorithm] 3 강 : 파이썬 문법 - 수 자료형 (0) | 2020.10.14 |