파이썬 문자열 중 한 문자 바꾸기

조회수 9798회
a='A'
g=10
a[0]='g'
print(a[0])

a의 'A'를 'g'값으로 바꾸고싶은데 왜 오류가날까요?

1 답변

  • string은 immutable type이라 수정할 수 없습니다,
    마치 tuple의 값을 바꿀 수 없는 것처럼.
    그래서 string을 바꾸고 싶다면 replace를 이용하거나 list를 이용해야 합니다.

    • list 활용
      원하는 위치를 바꾸고 싶을 때

      a = 'asd'
      a = list(a)  # ['a', 's', 'd']
      a[0] = 'kk'  # ['kk', 's', 'd']
      print(''.join(a))  # 'kksd'
      
    • replace 활용
      특정 패턴의 string을 바꾸고 싶을 때

      a = 'asda'
      a.replace('a', '12')  # '12sd12'
      

    고갱님이 문의 주신 내용을 위와 같이 바꾼다면 다음과 같습니다.

    a = 'A'
    g = 10
    a = list(a)
    a[0] = str(g)  # ['10']
    print(''.join(a))  # '10'
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)