이전에 List와 Tuple을 다뤄 봤습니다. 이 둘은 값의 나열
을 다루며, 순서가 보장되기 때문에 인덱싱과 슬라이싱이 가능했죠. 이번에 다뤄 볼 Dictionary와 Set도 Iterable 자료형이지만, List나 Tuple과는 조금 다릅니다.
Dictionary
Dictionary
는 Key-value 쌍으로 표현되는 자료형입니다. 사람
에 대한 정보는 이름=조민규, 닉네임=PlanB
처럼 표현할 수 있듯, Dictionary라는 단어의 뜻처럼 사전
처럼 데이터를 관리합니다.
값 조회하기
List와 Tuple은 인덱스로 값을 조회했던 것에 비해, 딕셔너리는 key
를 통해 값을 조회합니다.
값 추가, 수정, 제거하기
Dictionary는 값 추가, 수정, 제거가 자유롭습니다.
Set
Set
은 수학의 집합과 비슷한 자료형입니다. 중복을 허용하지 않고, 순서가 없습니다. 사실 수학의 집합 개념을 사용하거나, 중복을 제거하는 용도가 아니면 자주 사용하지는 않습니다.
값 추가, 수정, 제거하기
Set은 Tuple과 다르게 mutable(가변) 자료형
이기 때문에 값을 자유롭게 추가, 수정, 제거할 수 있습니다. 그러나 다른 iterable 자료형에 비해 문법적으로 조금 다릅니다.
List에서 중복된 값 없애기
Set은 중복을 허용하지 않기 때문에, List와 같은 자료형에서 중복된 값을 없애기 위해서 자주 사용됩니다.
문자열 이야기
문자열도 Iterable이며 순서가 보장되는 자료형입니다. 따라서 인덱싱과 슬라이싱, 합과 곱 연산이 가능합니다.
Unpacking
Iterable에는 unpacking
이라는 개념이 있습니다. 객체의 각 요소들을 풀어 변수에 대입하는 것입니다. Python 3에는 확장 언패킹(extended unpacking)이라는 개념도 존재합니다.
Unpacking의 반대 개념으로 packing
이 있는데, 사실 우리가 위에서 Iterable 객체에 리터럴로 값을 대입했던 것들이 모두 packing에 속합니다.
타입 캐스팅
Iterable 타입 간 타입 캐스팅도 자유롭습니다. 단, list/tuple/set을 dictionary로 캐스팅할 수는 없습니다.
Iterable 타입의 참과 거짓
Iterable 타입의 참과 거짓을 판단하는 기준은 정말 간단합니다. 비어 있으면 False, 비어 있지 않으면 True입니다.
'Python 계열 > Python 레거시 글' 카테고리의 다른 글
[Python] 반복문 - for (0) | 2018.06.22 |
---|---|
[Python] 조건문 - if (0) | 2018.06.21 |
[Python] Iterable 자료형 - List, Tuple (1) | 2018.06.19 |
[Python] 변수와 기본 자료형 (0) | 2018.06.18 |
[Python] 주석 (0) | 2018.06.17 |