2.6. 리스트#

2.6.1. 리스트의 정의#

파이썬에서 리스트(list)는 데이터를 모아놓은 순서가 있는 복합체 또는 집합이다.

리스트를 정의하는 방법은 중괄호 [] 안에 데이터 또는 변수를 쉼표 , 로 분리하여 놓는다. 리스트 안에 있는 원소(element)들은 아래에서 정의한 것처럼 정수, 실수, 문자열 등 그 성질이 같을 필요는 없다.

list_1 = [1, 2, 0.5, 'chair']
list_1
[1, 2, 0.5, 'chair']

심지어 리스트는 여러 개의 서로 다른 리스트를 원소로 가질 수 있다.

list_2 = [ list_1, "A", [1,2,3] ]
list_2
[[1, 2, 0.5, 'chair'], 'A', [1, 2, 3]]

2.6.2. 인덱스#

리스트 안의 각 원소는 순서에 따라서 지정된 값이 있으며 이를 인덱스(index) 라고 한다.

인덱스를 이용하여 리스트의 원소를 꺼내 볼 수 있다. 이를 슬라이싱(slicing)이라고 한다. 인덱스를 이용한 슬라이싱은 리스트의 이름 뒤에 중괄호 [] 안에 인덱스를 넣어서 수행한다.

!!!! 파이썬의 인덱스는 1이 아닌 0 부터 시작하므로 이를 언제나 유념해야 한다 !!!.

squares = [1, 4, 9, 16, 25]
squares[0]
1
squares[1]
4
squares[2]
9
squares[4]
25

위의 결과에서 보았듯이 5개의 원소를 가진 리스트의 인덱스는 0 으로 시작해서 4 로 끝난다. 민약 리스트의 인텍스 범위를 벗어나서 슬라이싱을 하면 오류가 발생한다.

list_3[5]
---------------------------------------------------------------------------
NameError                                 Traceback (most recent call last)
/Users/ylee19067/Library/CloudStorage/Dropbox/project/teaching/bigdata_intro/book/chapters/02/list.ipynb Cell 16 in 1
----> <a href='vscode-notebook-cell:/Users/ylee19067/Library/CloudStorage/Dropbox/project/teaching/bigdata_intro/book/chapters/02/list.ipynb#Y142sZmlsZQ%3D%3D?line=0'>1</a> list_3[5]

NameError: name 'list_3' is not defined

마지막으로 변수나 숫자가 리스트에 포함되는지 알려주는 포함연산자 in 이 유용하다.

1 in [1,2,3,4]
True
a = 5
a in [1,2,3,4]
False