ChainSmoker’s Block

[Python] 02. 파이썬 프로그래밍의 기초, 자료형 - 2_4 본문

개인공부(WEB, Python, DB)/Python

[Python] 02. 파이썬 프로그래밍의 기초, 자료형 - 2_4

ChainSmokers 2022. 7. 3. 21:44

[02. 파이썬 프로그래밍의 기초, 자료형]

--문자열 슬라이싱이란?
: 변수에 저장된 문자열에서 단순히 한 문자만을 뽑아내는 것이 아니라 단어를 뽑아내는 방법이 있지 않을까?
아래의 예시를 살펴보자.


위 예시사진처럼 단순하게 접근할 수도 있지만, 파이썬에선 더 좋은 방법을 제공한다. 바로 슬라이싱 기법이다. 이는 슬라이싱 기법으로 아래와 같이 간단히 처리 가능하다.


a[0:4]가 뜻하는 것은 문자열 a에서 자리 번호 0부터 4까지의 문자를 뽑아낸다는 의미이다.

하지만 다음과 같은 문제/의문이 생길 것이다. a[0]은 L, a[1]은 i, a[2]는 f, a[3]은 e니까 a[0:3]으로도 Life라는 단어를 뽑아낼 수 있지 않을까? 아래 예시로 확인 가능하다.


이유는 간단하다. 슬라이싱 기법으로, a[시작번호:끝번호]를 지정할 때 끝번호에 해당하는 것은 해당 슬라이싱 기법에서 포함하지 않기 때문이다. a[0:3]을 수식으로 나타내면 (0 <= a < 3)과 같다. 이 수식은 a[0], a[1], a[2]가 만족하므로 a[0:3]은 'Lif'가 되는 것이다.
이 부분이 문자열 연산에서 가장 혼동하기 쉬운 부분이기에 잘 기억하길 바란다.

--문자열을 슬라이싱하는 방법
:
아래 이미지는 슬라이싱의 예이다.


위 예는 a[0] + a[1] + a[2] + a[3] + a[4]와 동일하다. a[4]는 공백 문자이므로 'Life'가 아닌 'Life '가 출력된다. 공백역시도 문자와 동일하게 취급되는 것을 잊지말길 바란다.
**'Life'와 'Life '는 완전히 다른 문자열이다.

슬라이싱을 할 때 항상 시작 번호가 0일 필요는 없다. 아래 예시를 보라.


a[시작번호:끝번호]에서 끝번호 부분을 생략하면 시작번호부터 그 문자열의 끝까지 뽑아낸다.

a[시작번호:끝번호]에서 시작 번호를 생략하면 문자열의 처음부터 끝번호까지 뽑아내게 된다.

a[시작번호:끝번호]에서 시작 번호와 끝 번호를 생략하면 문자열의 처음부터 끝까지를 뽑아낸다.

슬라이싱에서도 인덱싱과 마찬가지로 마이너스(-)기호를 사용할 수 있다.


위와 같이 소스코드에서 a[19:-7]의 뜻은 a[19]에서부터 a[-8]까지를 말한다. 이 역시 a[-7]의 포함은 없다.

반응형