[閒聊] 字串給值

看板Python作者 (小林)時間14年前 (2011/01/13 13:12), 編輯推噓4(4010)
留言14則, 6人參與, 最新討論串1/2 (看更多)
我們在寫C的時候 可以給字串中某個位置值 若在python中 例如: a='abcd' 如果我想要把a改成'accd' 卻不能寫a[1]='c' 請問有什麼比較快的方法達成嗎QQ? 我查了很久都找不到... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.157.119 ※ 編輯: ianlini 來自: 123.192.157.119 (01/13 13:13) ※ 編輯: ianlini 來自: 123.192.157.119 (01/13 13:13)

01/13 13:32, , 1F
newlist = [n for n in 'abcd']
01/13 13:32, 1F

01/13 13:32, , 2F
newlist[1]='c'
01/13 13:32, 2F

01/13 14:10, , 3F
a.replace('b','c')
01/13 14:10, 3F

01/13 14:20, , 4F
1樓:這方法我有想過...可是感覺效率不太好而且要寫好多...
01/13 14:20, 4F

01/13 14:21, , 5F
之後如果想把它當string印出還要組合起來...
01/13 14:21, 5F

01/13 14:21, , 6F
3樓:我只想換指定的那個位置...
01/13 14:21, 6F

01/13 14:22, , 7F
感謝大家的回答~~~~~~~~~~
01/13 14:22, 7F

01/13 14:30, , 8F
我還有想到一個方法:a=a[:1]+'c'+a[2:]
01/13 14:30, 8F

01/13 14:31, , 9F
不知道還有沒有更直接的方法?
01/13 14:31, 9F

01/13 16:53, , 10F
newlist=list("abcd")
01/13 16:53, 10F

01/13 16:53, , 11F
newlist[1]='c'
01/13 16:53, 11F

01/13 23:14, , 12F
a.replace("b","c",1) 這樣如何?
01/13 23:14, 12F
我好像沒有說清楚... 我只是想換字串中某個指定位置的值 所以replace應該是很難行的... 是我例子給的不好 我會問這個問題是因為C語言可以很容易的達成 再次感謝大家的回答~~~~~~~~ ※ 編輯: ianlini 來自: 123.192.157.119 (01/14 02:45)

01/14 03:26, , 13F
重點就是 Python 和 C 對字串的概念有很大不同
01/14 03:26, 13F

01/14 21:25, , 14F
2.6 之後可以用 bytearray , 理論上可以達到你想要的效果
01/14 21:25, 14F
文章代碼(AID): #1DBedJRa (Python)
討論串 (同標題文章)
以下文章回應了本文
完整討論串 (本文為第 1 之 2 篇):
4
14
文章代碼(AID): #1DBedJRa (Python)