TypeError: 'str' object does not support item assignment in Python
Dung Do Tien Aug 31 2021 181
Hello you guys, I am a newbie in Python and I'm also studying more about Python.
I have a small assignment, I want to build some colors from a list color. Like this:
colors=["Blue", "Green", "Black", "Yellow", "Brown", "Silver"]
def build(s):
count = 0
for i in range(0,len(s)):
s[i]=colors[i]
return s
print(build("Color"))
But I get an exception TypeError: 'str' object does not support item assignment when I run code above.
Traceback (most recent call last): File "main.py", line 9, in <module> print(build("Color")) File "main.py", line 6, in build s[i]=colors[i] TypeError: 'str' object does not support item assignment
And I am using python 3.8.2
Anyone can explain it to me? How can I solve it?
Thanks for any response.
Have 1 answer(s) found.
- D0
David Logacho Aug 31 2021
Python does not allow you to swap out characters in a string for another one; strings are immutable. What you'll need to do is create a totally different string and return that instead.
See an example below:
colors=["Blue", "Green", "Black", "Yellow", "Brown", "Silver"] def build(s): str_color = "" for i in range(0,len(s)): str_color= str_color + " " + colors[i] return str_color print(build("Color"))
#OUTPUT
Blue Green Black Yellow Brown
Hope it's the answer for you.
* Type maximum 2000 characters.
* All comments have to wait approved before display.
* Please polite comment and respect questions and answers of others.