인덱스 할당을 사용하여 Python 문자열의 문자를 직접 바꿀 수 없는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-20 14:41:16
원래의
324명이 탐색했습니다.

Why Can't I Directly Replace Characters in a Python String Using Index Assignment?

인덱스 할당을 사용하여 문자열의 문자를 바꿀 수 없습니다

내의 지정된 위치에서 세미콜론을 콜론으로 바꾸려고 시도하는 다음 코드 조각을 고려하십시오. 문자열:

for i in range(0,len(line)):
     if (line[i]==";" and i in rightindexarray):
         line[i]=":"
로그인 후 복사

그러나 이 코드는 TypeError와 함께 실패합니다. 이는 str 개체가 항목 할당을 지원하지 않음을 나타냅니다. 이는 Python의 문자열이 불변이기 때문에 내용을 직접 수정할 수 없기 때문입니다.

문제 극복

문자열 내의 문자를 바꾸려면 다음을 사용할 수 있습니다. replacement() 메서드:

line = line.replace(';', ':')
로그인 후 복사

이 메서드는 지정된 문자(';')의 모든 항목을 새 문자(':')로 바꿉니다.

선택적 대체

특정 문자만 바꾸려는 경우 문자열 슬라이싱을 사용하여 수정하려는 문자열 섹션을 분리할 수 있습니다.

line = line[:10].replace(';', ':') + line[10:]
로그인 후 복사

이 코드는 문자열의 처음 10자.

위의 코드를 사용하면 문자열 "Hei der! ; Hello there ;!;"와 함께 rightindexarray에 원하는 대체 항목의 인덱스([3, 13])는 "Hei der! : Hello there :!;"로 변환됩니다.

위 내용은 인덱스 할당을 사용하여 Python 문자열의 문자를 직접 바꿀 수 없는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿