관리 메뉴

정리왕

파이썬 리스트1 (리스트란?) 본문

6.개발/파이썬 공부하기

파이썬 리스트1 (리스트란?)

정리합니다 2020. 11. 29. 11:58
반응형

 

지금까지 우리는 숫자와 문자열에 대해서 알아보았다.

하지만 숫자와 문자열만으로 프로그래밍을 하기엔 부족한 점이 많다.

예를 들어 1부터 10까지의 숫자 중 홀수 모음인 1, 3, 5, 7, 9 의 집합을 생각 해보자.

 

이런 숫자 모음을 숫자나 문자열로 표현하기는 쉽지 않다.

파이썬에는 이러한 불편함을 해소할 수 있는 자료형이 존재한다.

그것이 바로 여기에서 공부할 리스트( List )이다.

 

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

 

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

 

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

 

 

파이썬에서는 배열이 없다.

단, 배열을 대신하는 것이 리스트이다.

파이썬에서 리스트는 [ ] 대괄호로 만든다.

리스트 안에는 빈값, 숫자형, 문자열, 리스트 자료형을 가질 수 있다.

 

리스트는 a처럼 아무것도 포함하지 않아 비어 있는 리스트 ( [ ] )일 수도 있고,

c처럼 요소값으로 숫자를 가질 수 있고,

d처럼 문자열을 요소값으로 가질 수 있다.

또한 숫자와 문자열함깨 가질 수도 있고, 리스트 자체를 요소값으로 가질 수도 있다.

 

 

 

 

리스트 안에 리스트 자료형을 또 가질 수 있다.

즉, 리스트 안에는 어떠한 자료형도 포함시킬 수 있다.

 

 

 

 

 

 

 

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

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

대화형 인터프리터 IDLE로 연습해보자.

 

 

1) 리스트의 인덱싱

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

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

 

 

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

 
>>> a[0]
1
 

 

 

다음 예는 리스트의 첫 번째 요소인 a[0]과 세 번째 요소인 a[2]의 값을 더한 것이다.

이것은 1 + 3 으로 해석되어 값 4를 출력한다.

 
>>> a = [1, 2, 3]
>>> a[0] + a[2]
4
 

 

 

문자열을 공부할 때 이미 살펴보았지만 파이썬은 숫자를 0부터 세기 때문에 a[1]이 리스트 a의 첫 번째 요소가 아니라 a[0]이 리스트 a의 첫번째 요소임을 명심하자.

a[-1]은 문자열에서와 마찬가지로 리스트의 a의 마지막 요소값을 말한다.

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

 

 

 

이번에는 다음 예처럼 리스트를 a를 숫자 1, 2, 3과 또 다른 리스트인 ['a', 'b', 'c']를 포함하도록 만들어 보자.

 
a = [1, 2, 3, ['a', 'b', 'c']]
 

 

 

다음 예를 따라 해 보자.

예상한 대로 a[-1]은 마지막 요소값 ['a', 'b', 'c']를 나타낸다.

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

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

 

 

 

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

아래와 같이 하면 'a'를 끄집어 낼 수 있다.

a[-1]이 ['a', 'b', 'c'] 리스트라는 것은 이미 말했다.

바로 이 리스트에서 첫 번째 요소를 불러오기 위해 [0]을 붙여 준 것이다.

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

 

 

 

다음 예도 마찬가지 경우이므로 어렵지 않게 이해 될 것이다.

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

 

 

2) 삼중 리스트에서 인덱싱하기

조금 복잡하지만 다음 예를 따라 해 보자.

리스트 a 안에 ['a', 'b', ['Life', 'is']] 리스트가 포함되어 있고, 그 리스트 안에 다시 ['Life', 'is']리스트가 포함되어 있다.

삼중 구조의 리스트이다.

 
>>> a = [1, 2, ['a', 'b', ['Life', 'is']]]
 

 

 

 

이 경우 'Life' 문자열만 끄집어내려면 다음과 같이 해야 한다.

위 예는 리스트의 a의 세 번째 요소인 리스트 ['a', 'b' ['Life', 'is']]에서 세 번째 요소인 리스트 ['Life', 'is']의 첫 번째 요소를 나타낸다.

 
>>> a[2][2][0]		   
'Life'
 

 

 

이렇듯 리스트를 삼중으로 중첩해서 사용하면 혼란스럽기 때문에 자주 사용하지는 않지만 알아두는 것은 좋다.

 

 

 

 

 

 

 

반응형
Comments