[TIL] Python: List, Tuple, Set, Dictionary

Jene Hojin Choi·2021년 1월 13일
0

Python

목록 보기
3/6
post-thumbnail

Collecting data

파이썬에서는 list, tuple, dictionary, set 을 이용하여 여러가지 아이템을 한개의 변수에 담을 수 있다.

1. List

list는 대괄호[] 를 이용한다.
list의 item들은 index를 가지고 있다.

list = [0, 1, 2, 3, 4]

2. Tuple

tuple은 소괄호() 를 이용한다.

tuple = (0, 1, 2, 3, 4)

indexing등의 면에서는 list와 거의 동일하다. 하지만 tuple은 list와 다르게 수정이 가능하지 않다. 이를 immutable이라고 한다.

출처

We often call lists mutable (meaning they can be changed) and tuples immutable (meaning they cannot be changed).

수정이 불가능한 tuple은 언뜻 생각하기에는 굉장히 불편한 것처럼 들린다. 그렇다면 왜 list가 아닌 tuple도 존재하는 것일까?

tuple은 수정이 불가능하기 때문에 제한적인만큼 메모리를 적게 차지한다. 그러므로 tuple은 간단한 데이터를 저장할때 훨씬 효과적이다.


지금까지 list 와 tuple에 대해서 살펴보았다.
중괄호{}를 사용해야하는 set과 dictionary에 대해서 살펴보도록 하자.

3. Set

set = {0, 1, 2, 3, 4}

set에서 item들은 순서를 가지고 있지 않다. 즉, indexing이 없다.
set에서 item들은 중복될 수 없다.

set = {0, 1, 1, 1, 1}
print(set)
> {0, 1}

set은 수정될 수 있다. 즉, mutable이다. item을 더하거나 뺄 수 있다.
하지만 set에는 순서가 없기 때문에 item을 순차적으로 더하거나 뺄 수는 없다. 고로 set에서는 append 대신 add, pop 대신 remove를 사용한다.

set = {0, 1, 2}
set.add(3)

print(set)
> {0, 1, 2, 3}

set.remove(3)

print(set)
> {0, 1, 2}

4. Dict

dict는 set와 같이 순서가 없으며, 중복된 아이템을 가질 수 없다. 하지만 dict의 item들은 "key" : "value" 의 그룹으로 이루어져 있다.

dict = {"name": "Antoo", "age" : 10, "species" : "cat"}

index가 없는 대신, dict는 key를 통해 value를 불러올 수 있다.

dict = {"name": "Antoo", "age" : 10, "species" : "cat"}

print(dict["name"])
> Antoo

또한, dict도 mutable이다.
dict에 새로운 "key" : "value" 를 더하는 방법에는 두가지가 있다.

  1. 새로운 "key" 를 사용하여 "value" 지정하기
dict = {"name": "Antoo", "age" : 10, "species" : "cat"}
dict["color"] = "grey"

print(dict)
> {"name": "Antoo", "age" : 10, "species" : "cat", "color" : "grey"}
  1. update()

update() 라는 python built-in function 을 이용하여 새로운 "key" : "value"를 추가할 수 있다.

argument는 반드시 dict 의 형태를 가지고 있어야한다.

dict = {"name": "Antoo", "age" : 10, "species" : "cat"}
dict.update({"color" : "grey"})

print(dict)
> {"name": "Antoo", "age" : 10, "species" : "cat", "color" : "grey"}

Wrap-up

다음은 인터넷에서 가져온 list, tuple, set, dictionary 의 특징들을 표로 정리해놓은 것이다.

이미지 출처

출처

< Python Collections (Arrays) >
List is a collection which is ordered and changeable. Allows duplicate members.
Tuple is a collection which is ordered and unchangeable. Allows duplicate members.
Set is a collection which is unordered and unindexed. No duplicate members.
Dictionary is a collection which is unordered and changeable. No duplicate members.

0개의 댓글