인덱스 할당을 사용하여 문자열의 문자를 바꿀 수 없습니다
내의 지정된 위치에서 세미콜론을 콜론으로 바꾸려고 시도하는 다음 코드 조각을 고려하십시오. 문자열:
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!