Updated:

파이썬의 리스트 데이터 타입을 정리한 첫 번째 글입니다.
파이썬의 데이터 타입 중 시퀀스(sequence)에는 문자열, 리스트, 튜플이 포함됩니다. 이 중 리스트 자료형에 대해 다뤄보도록 하겠습니다.


1. 리스트 만들기

list = [요소1, 요소2, 요소3, ...]

리스트는 각 요소는 쉼표(,)로 구분하고, 이를 대괄호([])로 감싸주어서 만들 수 있습니다.

>>> a = []
>>> b = list()
>>> c = [1, 2, 3]
>>> d = ['Hello', 'Python', 'Hello', 'World']
>>> e = [1, 2, 'Hello', 'Python']
>>> f = [1, 2, ['Hello', 'Python']]

리스트에는 숫자형, 문자열 등을 요소로 가질 수 있지만, 숫자형과 문자열 데이터를 함께 사용할 수도 있고, 리스트를 요소로 가질 수도 있습니다. 즉, 리스트는 모든 종류의 자료형을 포함시킬 수 있습니다.
그리고 비어있는 리스트도 만들 수 있습니다. 비어있는 리스트는 대괄호 안에 아무 요소를 포함시키지 않거나, `list()를 통해서 만들 수 있습니다.

2. 리스트 인덱싱

>>> a = [1, 2, 3]
>>> a[0]
1
>>> a[-1]
3

리스트 자료형은 문자열 자료형과 마찬가지로 대괄호를 활용하여 인덱싱을 적용할 수 있습니다. 그리고 -를 활용하여 마지막 요소로부터 인덱싱할 수 있습니다.

>>> a = [1, 2, 3, ['a', 'b', 'c']]
>>> a[0]
1
>>> a[-1]
['a', 'b', 'c']
>>> a[3]
['a', 'b', 'c']
>>> a[-1][0]
'a'

리스트를 요소로 포함한 리스트 자료형에서도 인덱싱을 활용할 수 있습니다. 이 때 4번째 요소인 리스트에도 인덱싱을 사용할 수 있습니다.

>>> a = [1, 2, ['a', 'b', ['Hello', 'Python']]]
>>> a[2][2]
['Hello', 'Python']
>>> a[2][2][0]
'Hello'

이떄 [‘Hello’, ‘Python’] 이라는 리스트를 요소로 가진, [‘a’, ‘b’, [‘Hello’, ‘Python’]]이라는 리스트를 갖는 a 라는 삼중 리스트가 있을 때에도 마찬가지로 인덱싱을 활용할 수 있습니다.


3. 리스트 슬라이싱

>>> a = [1, 2, 3, 4, 5]
>>> a[0:2]
[1, 2]
>>> b = a[:2]
>>> c = a[2:]
>>> b
[1, 2]
>>> c
[3, 4, 5]

문자열과 마찬가지로 리스트 자료형에서도 슬라이싱이 가능한데, 이 때도 마지막 숫자는 포함되지 않도록 슬라이싱 됩니다.

>>> a = [1, 2, 3, ['Hello', 'Python', 'Hello', 'World'], 4, 5]
>>> a[2:5]
[3, ['Hello', 'Python', 'Hello', 'World'], 4]
>>> a[3][:2]
['Hello', 'Python']

중첩된 리스트에서도 똑같이 적용됩니다. a[3] 은 ['Hello', 'Python', 'Hello', 'World']을 나타내고, 이 리스트의 첫 번째부터 두 번째까지 요소는 [‘Hello’, ‘Python’]에 해당합니다.


Reference


https://wikidocs.net/14

Tags:

Categories:

Updated:

Leave a comment