사전 자료형
- 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형
- 값을 순차적으로 저장하는 리스트와 튜플(인텍스 이용)과 대비
- 원하는 '변형 불가능한(Immutable) 자료형'을 키로 사용 가능
- 해시 테이블(Hash Table)을 이용, 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리 가능
1. 사전 초기화
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
print(data)
# {'사과': 'Apple', '바나나': 'Banana'}
2. 사전 자료형 관련 메서드
keys( ) 함수 : 키 데이터만 뽑아서 리스트로 이용
values( ) 함수 : 값 데이터만을 뽑아서 리스트로 이용
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
key_list = data.keys()
value_list = data.values()
print(key_list)
print(value_list)
# dict_keys(['사과', '바나나'])
# dict_values(['Apple', 'Banana'])
# 각 키에 따른 값을 하나씩 출력
for key in key_list:
print(data[key])
집합 자료형
- 중복을 허용하지 않음
- 순서 X
- 데이터의 조회 및 수정에 있어서 O(1)의 시간에 처리 가능
1. 집합 자료형 초기화
- 집합은 리스트 혹은 문자열을 이용해서 초기화 가능, 이때 set( ) 함수 이용
- 혹은 중괄호 { } 안에 각 원소들을 삽입하며 초기화
#집합 자료형 초기화 방법 1
data = set([1, 1, 2, 3, 4, 4, 5])
print(data)
# {1, 2, 3, 4, 5}
#집합 자료형 초기화 방법 2
data = {1, 1, 2, 3, 4, 4, 5}
print(data)
# {1, 2, 3, 4, 5}
2. 집합 자료형 연산
- 합집합, 교집합, 차집합
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}
3. 집합 자료형 관련 함수
data = set([1, 2, 3])
#새로운 원소 추가
data.add(4)
# {1, 2, 3, 4}
# 새로운 원소 여러 개 추가
data.update([5, 6])
# {1, 2, 3, 4, 5, 6}
#특정한 값을 갖는 원소 삭제
data.remove(3)
# {1, 2, 4, 5, 6}
사전 자료형과 집합 자료형의 특징
1. 리스트나 튜플은 순서가 있어 인덱싱을 통해 자료형의 값을 얻을 수 있음
2. 사전 자료형과 집합 자료형은 순서가 없기 때문에 인덱싱으로 값을 얻을 수 없음
- 사전의 키(Key) 혹은 집합의 원소(Element)를 이용해 O(1)의 시간 복잡도로 조회함
'Algorithm' 카테고리의 다른 글
알고리즘 기초 및 파이썬 기초 문법(6) - 함수와 람다 표현식, 표준 라이브러리 (0) | 2022.03.25 |
---|---|
알고리즘 기초 및 파이썬 기초 문법(5) - 입출력, 조건문과 반복문 (0) | 2022.03.25 |
알고리즘 기초 및 파이썬 기초 문법(3) - 리스트, 튜플, 문자열 자료형 (0) | 2022.03.25 |
알고리즘 기초 및 파이썬 기초 문법(2) - 수 자료형 (0) | 2022.03.25 |
알고리즘 기초 및 파이썬 기초 문법(1) - 알고리즘 기초 (0) | 2022.03.25 |