作者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