1. 사전 자료형
- 사전 자료형은 키와 값의 쌍을 데이터로 가지는 자료형
- 리스트나 튜플은 값을 순차적으로 저장하는데 사전 자료형과 대비된다.
키(Key) | 값(Value) |
사과 | Apple |
바나나 | Banana |
코코넛 | Coconut |
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'
print(data)
if '사과' in data:
print("'사과'"를 키로 가지는 데이터가 존재합니다.")
{'사과': 'Apple', '바나나': 'Banana', '코코넛': 'Coconut'}
'사과'를 키로 가지는 데이터가 존재합니다.
* 사전 자료형에서는 키와 값을 별도로 뽑아내기 위한 메서드를 지원
* 키값만 뽑을 때 key(), 값만 뽑을 때 values() 이용
data = dict()
data['사과'] = 'Apple'
data['바나나'] = 'Banana'
data['코코넛'] = 'Coconut'
key_list = data.keys()
value_list = data.values()
print(key_list)
print(value_list)
for key in key_list:
print(data[key])
dict_keys(['사과','바나나','코코넛']
dick_values(['Apple','Banana','Coconut']
Apple
Banana
Coconut
2. 집합 자료형
- 중복을 혀용하지 않으며 순서가 없다
- 리스트 혹은 문자열을 이용해서 초기화 가능 ( set()함수 사용)
- 혹은 중괄호 안에 각 원소를 콤마를 기준으로 구분하여 삽입함으로써 초기화 가능
data = set([1, 1, 2, 3, 4, 4, 5])
print(data)
data = {1, 1, 2, 3, 4, 4, 5}
print(data)
{1, 2, 3, 4, 5}
{1, 2, 3, 4, 5}
* 집합 연산으로는 합집합, 교집합, 차집합 연산 등이 있다
* 합집합 : 집합 A에 속하거나 B에 속하는 원소로 이루어진 집합
* 교집합 : A에도 속하고 B에도 속하는 원소로 이루어진 집합
* 차집합 : 집합 A원소 중에서도 B에 속하지 않는 원소들로 이루어진 집합
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])
print(data)
# 새로운 원소 추가
data.add(4)
print(data)
# 새로운 원소 여러 개 추가
data.update([5,6])
print(data)
# 특정한 값을 갖는 원소 삭제
data.remove(3)
print(data)
{1, 2, 3}
{1, 2, 3, 4}
{1, 2, 3, 4, 5, 6}
{1, 2, 4, 5, 6}
* 사전 자료형과 집합 자료형의 특징
- 리스트나 튜플은 순서가 있기 떄문에 인덱싱을 통해 자료형의 값을 얻을 수 있다
- 사전 자료형과 집합 자료형은 순서가 없기 떄문에 인덱싱으로 값을 얻을 수 없다.
- 사전의 키 혹은 집합의 원소를 이용해 O(1)의 시간 복잡도로 조회한다.
'Python > Python 기초' 카테고리의 다른 글
[Python] 조건문 (0) | 2021.06.02 |
---|---|
[Python] 기본 입출력 (0) | 2021.06.02 |
[Python] 문자열 자료형 (0) | 2021.06.02 |
[Python] 리스트 자료형 (0) | 2021.05.31 |
[Python] 수 자료형의 연산 (0) | 2021.05.27 |