build my life

[Python] 슬라이싱(Slicing) 본문

Python

[Python] 슬라이싱(Slicing)

dalovee 2022. 8. 2. 18:29
728x90

슬라이싱(Slicing)

  • 인덱스를 활용하여 시퀀스를 잘라낸다. (부분적으로 잘라서 가져올 수 있음)
  • [start:end:step] : start ~ end-1 부분을 step만큼 건너 뛰면서 잘라낸다.
  • start, end, step은 생략 가능
    • start를 생략하면 자동으로 0 들어간다.
    • end를 생략하면 자동으로 len(list) 즉, 리스트의 길이가 들어간다.

 

  • step
    • 지정한 범위에서 step만큼 건너 뛰면서 슬라이싱
    • step을 생략하면 기본적으로 1이 주어진다.
    • step 부분을 양수, 음수를 이용해서 방향 설정 가능
      • 양수 : 정방향(왼->오)
      • 음수 : 역방향(오->왼)

 

✅ 슬라이싱은...

  • 정렬할 때 사용하기도 함
  • 리스트의 값을 변경하거나 길이가 다른 리스트를 넣는 것이 가능!
# 리스트 값 변경
lst = [1,2,3,4,5,6,7,8,9,10] lst[1] = 10000

# 길이가 달라도 리스트에 리스트를 넣는 것이 가능하다.

lst = [1,2,3,4]  
lst[1:] = [3]  
lst

# 슬라이싱을 이용한 값 변경은 불가한 경우 -> 슬라이싱은 리스트를 반환하기 때문에 단일 값 대입 시 에러!!

lst[:1] = 3 # X

 

슬라이싱은 데이터 분석을 할 때 내가 필요한 데이터만 가져오고 싶을 때 많이 사용했던 것 같다.

양수 인덱스로만 이용해서 슬라이싱하는 것은 익숙해서 쉽게 했지만 음수 인덱스로 슬라이싱하는 건 익숙치 않아서 실습문제를 풀 때 일일이 다 세어가며 했던 기억이,,,ㅎㅎ

슬라이싱은 많이 사용되니까 까먹지 말기!!

 

728x90