공부내용정리/파이썬

[Python] 리스트형 자료형

코딩하는망아치 2022. 12. 5. 16:15

리스트 자료형

리스트는 어떻게 만들고 사용할까?

리스트를 사용하면 1,3,5,7,9 숫자 모음을 다음과 같이 간단하게 표현할 수 있다.

>>> odd = [1, 3, 5, 7, 9]

리스트를 만들 때는 위에서 보는 것과 같이 대괄호([])로 감싸 주고 각 요솟값은 쉼표(,)로 구분해 준다.

리스트명 = [요소1, 요소2, 요소3, ...]

여러 가지 리스트의 생김새를 살펴보면 다음과 같다.

>>> a = []
>>> b = [1, 2, 3]
>>> c = ['Life', 'is', 'too', 'short']
>>> d = [1, 2, 'Life', 'is']
>>> e = [1, 2, ['Life', 'is']]

리스트는 a처럼 아무것도 포함하지 않아 비어 있는 리스트([ ])일 수도 있고 b처럼 숫자를 요솟값으로 가질 수도 있고 c처럼 문자열을 요솟값으로 가질 수도 있다. 또한 d처럼 숫자와 문자열을 함께 요솟값으로 가질 수도 있으며 e처럼 리스트 자체를 요솟값으로 가질 수도 있다. 즉 리스트 안에는 어떠한 자료형도 포함시킬 수 있다.
비어있는 리스트는 a = list()로 생성할수 있다.

리스트의 인덱싱과 슬라이싱

리스트도 문자열 처럼 인덱싱과 슬라이싱이 가능하다.

리스트의 인덱싱

리스트 역시 문자열처럼 인덱싱을 적용가능. 먼저 a 변수에 [1,2,3]값을 설정

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

a[0]은 리스트 a의 첫번째 요솟값을 말한다.

>>> a[0]
1

다음 예를 따라 해보자

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

예상한 대로 a[-1]은 마지막 요솟값['a'.'b','c']를 나타낸다. a[3]은 리스트 a의 네번째 요소를 나타내기 때문에 마지막 요소를 나타내는 a[-1]과 동일한 결과값을 보여준다.

그렇다면 여기서 리스트 ['a', 'b', 'c'] 리스트에서 'a' 값을 인덱싱을 사용해 끄집어낼 수 있는 방법은 없을까? 다음 예를 보자.

>>> a[-1][0]
'a'

위와 같이 하면 'a'를 끄집어낼 수 있다. a[-1]이 ['a', 'b', 'c'] 리스트라는 것은 이미 말했다. 바로 이 리스트에서 첫 번째 요소를 불러오기 위해 [0]을 붙여 준 것이다.
다음 예도 마찬가지 경우이므로 어렵지 않게 이해될 것이다.

>>> a[-1][1]
'b'
>>> a[-1][2]
'c'