作者ianlini (小林)
看板Python
標題[閒聊] 字串給值
時間Thu Jan 13 13:12:49 2011
我們在寫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)
1F:推 dyco:newlist = [n for n in 'abcd'] 01/13 13:32
2F:→ dyco:newlist[1]='c' 01/13 13:32
3F:推 hsinyichen:a.replace('b','c') 01/13 14:10
4F:→ ianlini:1樓:這方法我有想過...可是感覺效率不太好而且要寫好多... 01/13 14:20
5F:→ ianlini:之後如果想把它當string印出還要組合起來... 01/13 14:21
6F:→ ianlini:3樓:我只想換指定的那個位置... 01/13 14:21
7F:→ ianlini:感謝大家的回答~~~~~~~~~~ 01/13 14:22
8F:→ ianlini:我還有想到一個方法:a=a[:1]+'c'+a[2:] 01/13 14:30
9F:→ ianlini:不知道還有沒有更直接的方法? 01/13 14:31
10F:推 dyco:newlist=list("abcd") 01/13 16:53
11F:→ dyco:newlist[1]='c' 01/13 16:53
12F:推 cute0185:a.replace("b","c",1) 這樣如何? 01/13 23:14
我好像沒有說清楚...
我只是想換字串中某個指定位置的值
所以replace應該是很難行的...
是我例子給的不好
我會問這個問題是因為C語言可以很容易的達成
再次感謝大家的回答~~~~~~~~
※ 編輯: ianlini 來自: 123.192.157.119 (01/14 02:45)
13F:→ uranusjr:重點就是 Python 和 C 對字串的概念有很大不同 01/14 03:26
14F:→ yjc1:2.6 之後可以用 bytearray , 理論上可以達到你想要的效果 01/14 21:25