2013-05-07 54 views
-4

字符串我有蟒蛇修改蟒蛇

name="My name is John" 

我要替換名稱的字符串:

name ="My name is JohnSmith" 

誰能幫助?

+1

請注意,您不能在Python中修改字符串,字符串是不可變的。你可以將'name'綁定到一個*完全不同的*字符串,這個新的字符串具有你想要的內容。 – 2013-05-07 13:37:44

+1

如果你想用不同的字符串替換名字,你已經在你的例子中這樣做了。 :) – dansalmo 2013-05-07 14:50:48

回答

2

您不能在python中修改字符串,因爲它們是不可變的,所以修改字符串總是會生成一個新字符串。

爲了您的例子,你可以使用:

字符串連接:

>>> name = "My name is John" 
>>> name += "Smith"  #equivalent to name = name + "Smith" 
>>> name 
'My name is JohnSmith' 

或字符串格式化:

>>> name = "My name is John" 
>>> name = "{0}{1}".format(name,"Smith") 
>>> name 
'My name is JohnSmith' 

對於中將許多項的列表喜歡str.join

>>> name="My name is John" 
>>> name = "".join((name,"Smith","foo","bar","spam")) 
>>> name 
'My name is JohnSmithfoobarspam' 
+0

你應該改寫它,「爲了連接多個項目列表」,比較喜歡'str.join',對於2個項目,'「」.join((x,y))'只是一個醜陋的版本'x + y' – jamylak 2013-05-07 13:48:07

0
>>> name[:11] + 'John Smith' 
'My name is John Smith' 
-1
str = "My name is John" 
str = str.replace("John","JohnSmith") 
+3

不要調用你的字符串'str','str'是一個內建的 – jamylak 2013-05-07 13:40:49

+0

是的,我不應該這樣做。 – manoj 2013-05-07 13:42:31

+2

現在嘗試'print str(1)' – jamylak 2013-05-07 13:43:43