이전에 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

+ Recent posts