Recent Posts
Tags
- 카카오 애드핏
- javascript example
- 웹 프로그래밍
- javascript date format
- javascript array map
- kakao Adfit
- python dictionary
- python index
- python slicing
- 자바스크립트
- 파이썬 기초
- HTML
- 비동기 코드
- jQuery
- 파이썬 세트
- python 다운로드
- 프로그래밍
- Python3
- HTML 기초
- 파이썬 ide 추천
- javascript array remove
- 파이썬 배우기
- javascript 날짜 포맷 변환
- javascript array unshift
- 비동기 뜻
- jquery loaded event
- 프로그래밍 파이썬
- javascript array add
- 코딩 파이썬 기초
- 제이 쿼리
- 파이썬 학원
- jupyter python
- 파이썬 강의
- javascript array splice
- javascript array push
- javascript array method
- html css
- 국비 지원 프로그래밍
- 동기 뜻
- $(document).ready()
- 국비 지원 파이썬
- 리엑트 삼항연산자
- 파이썬 강의 사이트
- 동기 코드
- JavaScript
- javascript array shift
- 파이썬 사칙연산
- 파이썬 입문
- 파이썬 온라인 강의
- 웹 프로그래밍 기초
코딩이 즐겁다
[파이썬 기초] 문자열 인덱싱과 슬라이싱 (Indexing, Slicing) 갓벽 가이드 본문
반응형
문자열 인덱싱 (Indexing)과 슬라이싱 (Slicing)
파이썬(Python)의 문자열은 순서가 있는 시퀀스 자료형으로, 각 문자에 고유한 인덱스를 부여합니다. 이를 활용하면 문자열의 특정 문자를 가져오거나 문자열의 일부를 추출할 수 있습니다.
문자열 인덱싱 (Indexing)
타 언어에서는 문자열 인덱스 번호가 0부터 시작합니다. 하지만 파이썬에서는 독특하게도 0부터 시작하는 순차 인덱싱 처리도 가능하고, 역순 번호를 이용한 인덱싱도 가능합니다. 역순 인덱싱 사용시에는 항상 마지막 문자를 기준으로 -1부터 시작합니다.
문자열 "BAMBI"로 예시로 들어보겠습니다.
B | A | M | B | I | |
양수 인덱스 | 0 | 1 | 2 | 3 | 4 |
음수 인덱스 | -5 | -4 | -3 | -2 | -1 |
s = "BAMBI"
print(">> 순차 인덱스 0부터 시작")
print( s[0] )
print( s[1] )
print( s[2] )
print( s[3] )
print( s[4] )
print(">> 역순 인덱스 시작")
print( s[-5] )
print( s[-4] )
print( s[-3] )
print( s[-2] )
print( s[-1] )
print(">> 순차, 역순 인덱싱 문자 비교")
print( s[0] == s[-5] )
print( s[1] == s[-4] )
print( s[2] == s[-3] )
print( s[3] == s[-2] )
print( s[4] == s[-1] )
결과:
>> 순차 인덱스 0부터 시작
B
A
M
B
I
>> 역순 인덱스 시작
B
A
M
B
I
>> 순차, 역순 인덱싱 문자 비교
True
True
True
True
True
💡 범위를 벗어난 인덱스
인덱스가 문자열의 길이를 초과하면 IndexError가 발생합니다.
s = "Python"
print(s[10]) # IndexError: string index out of range
💡 문자열은 불변 (Immutable)
문자열은 변경 불가능(immutable) 자료형이므로, 특정 인덱스의 값을 직접 수정할 수 없습니다.
s = "Python"
s[0] = "J" # TypeError: 'str' object does not support item assignment
문자열 슬라이싱 (Slicing)
문자열 인덱스 번호를 활용하여 한 문자 이상을 추출해 내는 방법입니다.
출력되는 문자열의 경우, 진행 방향에 따라 종료 인덱스 번호의 이전까지 출력 됩니다.
문자열 [start:stop:step] | |
start | 추출하고자 하는 시작 문자의 인덱스 번호, 생략시 처음 번호 자동 지정 |
stop | 추출하고자 하는 종료 문자의 인덱스 번호, 생략시 마지막 번호 자동 지정 |
step | 인덱스 번호 증감값, (-) 마이너스 값 입력시 역순 출력 가능, 생략시 1씩 증가 |
s = "Bambi Info"
print(">> 순차 인덱스 슬라이싱")
print( s[0:4] )
print( s[:4] )
print( s[6:] )
print( s[::] )
print( s[::2] )
print(">> 역순 인덱스 슬라이싱")
print( s[-10:-6] )
print( s[:-6] )
print( s[-7:] )
print( s[:-6:2] )
print(">> 문자열 거꾸로 출력")
print( s[::-1] )
print( s[-6::-1] )
print( s[-6:-10:-1] )
결과:
>> 순차 인덱스 슬라이싱
Bamb
Bamb
Info
Bambi Info
BmiIf
>> 역순 인덱스 슬라이싱
Bamb
Bamb
bi Info
Bm
>> 문자열 거꾸로 출력
ofnI ibmaB
ibmaB
ibma
💡 범위를 벗어난 슬라이싱
슬라이싱에서 범위를 벗어난 인덱스는 오류를 발생시키지 않으며, 가능한 범위 내에서 결과를 반환합니다.
s = "Python"
print(s[2:100]) # 'thon' (2번 인덱스부터 끝까지)
print(s[-100:3]) # 'Pyt' (시작은 자동으로 첫 번째 문자로 설정)
💡 시작, 끝, 간격 생략
- 슬라이싱에서는 시작, 끝, 간격 값을 생략할 수 있습니다.
- [:]: 전체 문자열.
- [::]: 전체 문자열을 기본 간격으로 선택.
- [::n]: 간격만 지정.
s = "Python"
print(s[:]) # 'Python' (전체 문자열)
print(s[::]) # 'Python' (기본 간격으로 전체 문자열)
print(s[::-1]) # 'nohtyP' (역순 문자열)
코즐
파이썬을 배우고 싶은 사람은 누구나 파이썬 학원(국비 지원 파이썬 학원)에 가지 않고도 파이썬 공부를 하면서 실력을 쌓아나갈 수 있다고 생각합니다.
파이썬 온라인 강의 자료를 올리면서 누구나 쉽게 파이썬을 공부하실 수 있도록 최선을 다해서 설명하도록 하겠습니다.
반응형
'Python' 카테고리의 다른 글
[파이썬 기초] 튜플 (Tuple) 타입 사용법 갓벽 가이드 (84) | 2025.01.23 |
---|---|
[파이썬 기초] 리스트(List) 타입 사용법 갓벽 가이드 (28) | 2025.01.23 |
[파이썬 기초] 기본 자료형 (int, str, bool, float) 갓벽 가이드 (41) | 2025.01.22 |
[파이썬 기초] 주석 (한 줄, 여러 줄, Docstrings, 단축키) 갓벽 가이드 (36) | 2025.01.22 |
주피터 노트북(jupyter notebook) 웹에서 사용하는 방법 (무설치) (62) | 2025.01.21 |