반응형
1. 문자열 기본 사용
파이썬에서 문자열은 불변(immutable) 타입이기 때문에 특정 인덱스의 문자를 직접 변경할 수 없습니다. 파이썬 문자열의 불변성은 한 번 문자열 객체가 생성되면 그 내용을 변경할 수 없음을 의미합니다.
만약 문자열의 특정 인덱스 문자를 변경하려고 하면, TypeError가 발생합니다. 예를 들어:
s = "hello"
s[0] = "H" # TypeError: 'str' object does not support item assignment
하지만, 새로운 문자열을 생성하여 원래 문자열의 특정 문자를 변경하는 것과 같은 효과를 낼 수 있습니다. 이를 위해 문자열 슬라이싱 및 연결을 사용할 수 있습니다.
2. 문자열의 특정 인덱스 문자를 변경하는 방법
방법 1: 슬라이싱 및 문자열 연결
s = "hello"
s = s[:0] + "H" + s[1:]
print(s) # 출력: Hello
위 예제에서:
s[:0]
는 문자열의 처음부터 인덱스 0 이전까지의 부분 문자열입니다. (빈 문자열)"H"
는 새로운 문자입니다.s[1:]
는 인덱스 1부터 문자열의 끝까지의 부분 문자열입니다.
이들을 연결하여 새로운 문자열을 생성합니다.
방법 2: 리스트로 변환하여 변경 후 다시 문자열로 변환
문자열을 리스트로 변환한 다음, 리스트의 요소를 변경하고, 다시 문자열로 변환할 수 있습니다.
s = "hello"
s_list = list(s)
s_list[0] = "H"
s = "".join(s_list)
print(s) # 출력: Hello
위 예제에서:
list(s)
는 문자열을 문자 리스트로 변환합니다.s_list[0] = "H"
는 리스트의 첫 번째 요소를 변경합니다."".join(s_list)
는 리스트를 다시 문자열로 결합합니다.
이와 같은 방법들을 사용하면 파이썬의 문자열 불변성을 위반하지 않고 문자열의 특정 인덱스 문자를 변경할 수 있습니다.
반응형
'언어 > Python' 카테고리의 다른 글
[ Python ] 내장 함수를 사용하여 리스트 다루기 (0) | 2024.06.07 |
---|---|
[ Python ] 리스트에서 음수 인덱스를 사용하기 (0) | 2024.06.07 |
[ Python ] 내장 함수 사용하여 문자열 다루기 (0) | 2024.06.07 |
[ Python ] str 클래스 사용하기 (0) | 2024.06.07 |
[ Python ] 문자열 합치기 + join() (0) | 2024.06.07 |