Coding/Python

[python] 리스트, 인덱싱, 슬라이싱

dodomp0114 2021. 11. 6. 16:12
리스트, 인덱싱

 

리스트는 여러가지 자료형 데이터들을 하나의 묶음으로 만들어서 관리하고, 각 자료형에 순번(index) 을 통해 접근이 가능.

 

인덱싱은 "가리키다" 라는 뜻으로, 이러한 각 데이터에 번호를 매기는 것을 뜻합니다.

 

리스트 안에 있는 여러 자료형들은 왼쪽 부터 차례로 순번이 매겨집니다.

 

  • 인덱스 번호는 양수와 음수로 표현이 가능합니다.
데이터 값 H E L L O
양수 인덱스 [0] [1] [2] [3] [4]
음수 인덱스 [-5] [-4] [-3] [-2] [-1]

   

ex)

>>> A = [ "한국", "미국", "일본", "러시아", 싱가포르", "2021", "11.04" ]

>>> print (A[0])
>>> print (A[5])
>>> print (A[-1])
#배열에서 인덱스 번호로 데이터 추출

한국
2021
11.04

 


 

슬라이싱 이란?

 

- 슬라이싱은 "자르다" 라는 뜻이며, 리스트 안의 데이터를 원하는 범위를 지정하여 출력할 수 있습니다.

  syntax는 [ start : end : step ] 으로 구성 되어 있습니다.

 

  • start : 시작 인덱스번호 지정  /  양수는 왼쪽부터 0, 음수는 오른쪽부터 -1 로 시작.
  • end : 끝 인덱스 번호 지정 / 마지막 인덱스는 출력 X
  • step : 보폭을 뜻하며, 처음 데이터부터 시작하여 마지막 까지 얼마 만큼의 보폭으로 추출할 것 인지 지정

ex)

>>> A = [1,2,3,4,5,6]
>>> print (A[0:6])
#양수로 표현된 인덱스
>>> print (A[-6:0])
#음수로 표현된 인덱스

[1,2,3,4,5,6]
[1,2,3,4,5,6]

 

#step 한칸씩 데이터 추출.

>>> A = [1,2,3,4,5,6]
>>> print (A[::1])
[1,2,3,4,5,6]

#step을 음수로 설정하면 뒤에서부터 n칸씩 추출.

>>> print (A[::-1])
[6,5,4,3,2,1]

#step은 항상 처음시작하는 인덱스도 포함하여 출력

>>> print (A[::2])
[1,3,5]
>>> print (A[::3])
[1,4]