더북(TheBook)

이렇게만 보면 한정된 자료형에만 사용할 수 있는 강력하지만 제한적인 기능처럼 보이지만, 실제로는 연속된(iterable) 자료형이라면 어떤 것이라도 슬라이싱할 수 있습니다.

문자열은 어떨까요? 문자열 역시 슬라이싱 기능을 사용할 수 있습니다.

print('Python is awesome'[3::2])

2차원, 3차원 배열은 어떨까요? 당연히 가능합니다.

data = [[(0, 1), (2, 3), (4, 5)], [(6, 7), (8, 9), (0, 1)]]
print(data[1:][0][::2])

이 외에도 for 문에 사용 가능하다는 등 여러 가지 특징이 있으니 익혀 두세요. 시간 복잡도를 줄일 때는 직접적으로 연산량을 줄일 수도 있지만, 슬라이싱으로 하나의 변수를 최대한 활용하는 것 또한 실행 속도를 높이는 데 많은 도움이 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.