코테를 준비하다보니 문자열 슬라이싱에서 모르고 있던 부분들에 대해 정리해보았다.
길이가 4인 문자열이나 리스트에 5번째 원소(오프셋)를 선택하면 에러가 발생한다. a[4]
. 이는 당연하게 알고 있는 사실이다.
하지만, 슬라이싱을 시도하면 문자열이나 리스트의 범위를 초과하더라도 빈값이 return되고 에러는 나지 않는다.
리스트 슬라이스는 문자열의 슬라이스와 같이 잘못된 인덱스를 지정할 수 있지만 예외는 발생하지 않는다. 유효 범위의 인덱스를 반환하거나 아무것도 반환하지 않는다. [1]
# 문자열 슬라이싱
a = 'abcd'
print(a)
print(a[0])
print(a[3])
# print(a[4]) # IndexError: string index out of range
print(a[:])
print(a[0:])
print(a[0:100])
print(a[100:]) # print('')과 같음
print(a[50:100])
print("문자열 실험 끝")
# 리스트 슬라이싱
a = [1, 2, 3, 4]
print(a)
print(a[0])
print(a[3])
# print(a[4]) # IndexError: string index out of range
print(a[:])
print(a[0:])
print(a[0:100])
print(a[100:])
print(a[50:100])
print("문자열 실험 끝")
abcd
a
d
abcd
abcd
abcd
문자열 실험 끝
[1, 2, 3, 4]
1
4
[1, 2, 3, 4]
[1, 2, 3, 4]
[1, 2, 3, 4]
[]
[]
문자열 실험 끝
참고문헌
[1] 빌 루바노빅, "처음 시작하는 파이썬", 2판 1쇄, 한빛미디어(주), 2020년, p.154
Ghost