Posted by
Seoyoung Lee
on May 05, 2020 ·
9 mins read
python에 내장된 자료구조 중, 가장 많이 사용하는 list, tuple, set, dict에 대해 알아본다.
1. List
가장 많이 쓰는 자료구조이다. list를 생성할 때에는, '[]'를 사용하거나 list()를 사용한다.
list 끼리의 '+'는 list의 값을 더하는 것이 아닌 두개의 list를 접합해 새로운 list를 만든다. 또한, 'x'는 list를 곱한 수만큼 반복해 새로운 list를 반환한다.
list의 slicing 또한 가능하다.
List 자료형의 Method
그 밖에 아래와 같은 method들이 있다.
- count(원소) : 리스트 내 특정 원소가 몇 개 포함되어 있는지 반환
- index(원소) : 리스트 내 특정 원소의 인덱스를 반환
- extend(리스트) : 리스트의 뒤 쪽에 다른 리스트를 삽입
- insert(인덱스, 원소) : 특정한 위치에 원소를 삽입
- remove(원소) : 리스트 내 특정 원소를 삭제
- del : 리스트의 특정 원소를 제거
- reverse() : 리스트를 뒤집기
- sum(리스트 자료형) : 리스트의 모든 원소의 합
- all() / any() : 리스트의 모든 원소가 참인지/하나라도 참인지 판별
- enumerate() : 리스트에서 인덱스와 원소를 함께 추출
2. Tuple
tuple를 생성할 때에는, '()'를 사용하거나 tuple()를 사용한다.
'+', '*' 를 사용할 때에도 list와 똑같다.
tuple은 list와 공통점이 정말 많지만 list와 달리 한 번 생성된 값을 변형할 수 없다.
그러므로 tuple은 append, sort, pop 등의 메소드는 사용할 수 없다.
Tuple 자료형의 Method
3. Set
set를 생성할 때에는, '{}'를 사용하거나 set()를 사용한다.
set는 list와 tuple과 달리 원소간 순서가 없다. 그러므로 indexing이 불가능하다.
또한 set는 원소의 중복을 허용하지 않는다. (unique) 만약 원소가 두개 이상 중복되면 한 개만 남게된다.
Set 자료형의 Method
4. Dictionary
dict는 단순히 값 자체를 저장하기 보다는 키와 값 쌍을 저장한다.
dict를 생성할 때에는, set와 같이 '{}'를 사용한다.
key값을 통해 value에 접근할 수 있다. indexing과 비슷하며 문법도 동일하게 '[]'를 사용한다.
dict에서는 value는 중복이 가능하지만, key는 중복이 불가능하다.
for문을 사용하여 dict의 값을 받아올 때, key, value, key-value쌍 모두 받아올 수 있다.
sorted()로 정렬을 할 때, key, value, key-value쌍 모두 기준이 될 수 있다. 또한 sorted()는 list를 반환한다.
Dict 자료형의 Method
호출하는 key가 없으면 대신 기본값을 반환하는 코드를 짜고 싶을 때 get()메소드를 사용한다.