728x90

Reference

 

파이썬에서 슬라이싱으로 간격을 지정해서 표현할 수도 있다.

 

기본적인 인덱스 슬라이싱 방법

ex_list = [0, 1, 2, 3, 4]
print(ex_list[1:4])

>> [1, 2, 3, 4]
  • [start_idx : end_idx + 1] -> 원하는 방식으로 인덱스를 잘라서 이용가능하다.

인덱스 슬라이싱의 세번째 인자 활용

>>> L = range(10)
>>> L[::2]
[0, 2, 4, 6, 8]
  • [start_idx : end_idx + 1 : stride] -> 해당 방식으로 표현
  • stride에 해당하는 세번째 인자에 -1값을 넣어주면 역순으로 표현 가능
>>> L[::-1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]

 

💡 Slicing [::-1] 🆚 reverse() L.reverse()

  • 그렇다면, 역순 슬라이싱과 역순 정렬 함수 중 어느 것이 시간 복잡도가 더 낮을까?

 

  • Slicing
    O(b-a) -> 즉, O(n)
  • reverse()
    O(n)

∴ 똑같다,,! 그냥 편한거 쓰는 게 베스트

728x90