본문 바로가기
5분 공부

[5분 공부] Python 문자열 - 2

by 멍선생 2022. 12. 8.
728x90

 

python의 문자열은 앞서 공부했던 list 와 많이 유사하다.

list가 자료형들의 나열이라고 하면, 문자열은 문자들의 나열이라 할 수 있다.

오늘은 이 문자열에 대해 조금 더 알아보는 시간을 갖으려 한다.

 


1. 인덱싱(Indexing)

 

list와 마찬가지로 문자열에도 인덱싱이 가능하다.

바로 예제를 살펴보도록 하자.

character = 'python'

# 순서
print(character[0])
print(character[1])
print(character[2])
print(character[3])
print(character[4])
print(character[5])

 

list 처럼 인덱싱을 해주면 각 위치에 있는 문자열을 하나씩 반환해준다.

이는 반복문을 사용할 때에도 마찬가지이다.

아래와 같이 반복문을 작성하면,

character = 'python'

#반복문
for c in character:
    print(c)

 

list 과 동일한 결과를 볼 수 있다.

 


2. 슬라이싱 (Slicing)

 

list에서 배웠던 슬라이싱. 원하는 범위 만큼 추출할 때 사용하는 것인데, 이 함수는 문자형 에서 더 많이 쓰는 듯 하다.

코딩을 배웠던 사람이라면 흔히들 들었던 substring, substr 와 유사하다 해야하나..

 

사용법은 동일하다.

charactor[시작인덱스:종료인덱스]  # 시작인덱스 부터 종료인덱스 전 까지의 문자열 추출
charactor[:종료인덱스]  # 처음부터 부터 종료인덱스 전 까지의 문자열 추출
charactor[시작인덱스:]  # 시작인덱스 부터 끝까지의 문자열 추출

 

예시를 보자.

character = 'Republic of Korea'

print(character[2:7])
print(character[:5])
print(character[4:])

 

리스트의 슬라이싱과 동일하다고 할 수 있다.


3. len 함수

 

리스트의 길이를 알아내는 함수지만, 이 함수를 통하여 문자열의 길이도 알 수 있다.

사용법은 리스트와 동일하다.

len(charactor)

 

예시로 알아보자.

 

charactor = 'Republic of Korea'

print(len(charactor))

 

쉽게 문자열의 길이를 알아낼 수 있다.

 


4. list와 문자열의 차이점

 

이렇게 인덱싱, 슬라이싱, len함수까지 list와 차이점은 무엇일까.

바로 list는 데이터를 변경할 수 있지만, 문자열은 불가능 하다는 것이다.

이렇게 list처럼 데이터를 변경할 수 있는 자료형을 mutable한 자료형,

그렇지 않은, 문자열 같은 자료형을 immutable한 자료형 이라고 한다.

 

예시를 들어보자.

# Mutable 
numbers = [1, 2, 3, 4]
numbers[0] = 5
print(numbers)

# Immutable 
charactor = 'python'
charactor[2] = 't'
print(charactor)

 

위와같은 코드를 실행시키면, list는 수정이 되지만, 문자열을 수정하려는 순간 error를 만나게 된다.

 


 

이상으로 list와 유사한 문자열에 대해 알아보았다.

 

오늘 공부는 여기서 끝.

 

list index, list remove, list reverse, list sort, nested list, python list, 파이썬 list, 파이썬 list index, 파이썬 list 값 존재, 파이썬코딩

728x90
반응형

댓글