:: 리스트 (List) ::

앞에선 문자열에서 숫자와 문자를 사용하는방법을 봤지만 이것만으로는 프로그래밍하기에 어려움을 겪는다.

이번에 볼 리스트(List)를 사용해 이를 해결할 수 있다.

 

 

 


 

 

 

:: 리스트의 모양 ::

리스트 = [값1, 값2, 값3, 값4, 값5] 

>>> a = []
>>> b = [1, 2, 3]
>>> c = ['name','phone','sex']
>>> d = [1, 2, 3, 'name', 'phone']
>>> e = [1, 2, 3, ['name', 'phone']]

a와 같이 비어있을 수도 있으며 b, c와같이 숫자 또는 문자열을 가지고 있을 수도 있다.

그리고 d처럼 문자열과 숫자값 둘다 가질 수도 있고 e처럼 리스트 자체를 리스트로 가질 수도 있다.

 

 

 


 

 

 

1. 리스트의 인덱싱

>>> a = [1,3,5,7,9]
>>> a[0]
1

>>> a[1]
3

>>> a[2]
5

>>> a[3]
7

>>> a[4]
9

변수 a는 리스트[1, 3, 5, 7,9]를 가지고 있다.

문자열과 같이 숫자는 0부터 세기 때문에  a[0]은 0번자리에 있는 1이, a[1]은 1번자리에 있는 3이 찝어져 나온다.

 

 

그럼 리스트를 요솟값으로 가진 리스트도 인덱싱을 할 수 있을까?

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

>>> a[0]
1

>>> a[1]
3

>>> a[2]
[5, 7, 9]

변수 a에 숫자 1, 3과 리스트 [5, 7, 9]를 넣었다.

보이는 바와 같이 리스트[5, 7, 9] 자체를 2번자리로 보여준다.

리스트안에 리스트가 들어가면 말 그대로 리스트 그 자체가 요소값이기 때문에

a 는 1, 3, [5, 7, 9] 이 세가지 요소값을 가진 3칸짜리 리스트가 된다.

 

 

그럼 리스트속 리스트의 요솟값을 인덱싱으로 찝어올 순 없을까?

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

>>> a[0]
1

>>> a[1]
3

>>> a[2]
[5, 7, 9]

>>> a[2][0]
[5]

>>> a[2][1]
[7]

>>> a[2][2]
[9]

변수[값][값]

리스트에서 요솟값을 꺼내오듯이 한번 더 꺼내면 된다.

 

 

 

 

 

2. 리스트의 슬라이싱

문자열 슬라이싱과 다를것이 없다.

변수[시작번호 부터~~ : ~~미만 까지]

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

>>> a[0:3]
[1, 3, 5]

a[0:3]의 의미는 다음과 같음

1 3 5 7 9
0번 1번 2번 3번 4번
~~부터     ~~미만 까지  
O O O X X

 

 

문자열과 마찬가지로 슬라이싱 한것을 변수에 대입할 수도 있다.

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

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

>>> c
[7, 9]

>>> d
[3, 5, 7]

b는 a리스트의 처음부터 3미만까지

c는 a리스트의 3번부터 끝까지

d는 a리스트의 1번부터 4미만까지

 

0부터 세는것과 슬라이싱의 순서 및 사용법은 이전 글을 참고하면 된다.


https://junk-storage.tistory.com/30?category=847611

 

[파이썬 기초] 문자열 -2 (인덱싱과 슬라이싱)

숫자를 0부터 세어라 >>> a = "Money makes money" 이 소스코드에 있는 문자열 "Money makes money"을 순서 매기려면 어떻게 해야 할까? M o n e y m a k e s m o n e y 1칸 2칸 3칸 4칸 5칸 6칸 7칸 8칸 9칸 10..

junk-storage.tistory.com

 

  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기