`

Python 字符串操作(截取/替换/查找/分割)

 
阅读更多
python字符串连接
先介绍下效率比较低的,有些新手朋友就会犯这个错误:
a = ['a','b','c','d']
content = ''
for i in a:
   content = content + i   
print content

说下为什么效率会低呢?
原因:在循环连接字符串的时候,他每次连接一次,就要重新开辟空间,然后把字符串连接起来,再放入新的空间,再一次循环,又要开辟新的空间,把字符串连接起来放入新的空间,如此反复,内存操作比较频繁,每次都要计算内存空间,然后开辟内存空间,再释放内存空间,效率非常低,你也许操作比较少的数据的时候看不出来,感觉影响不大,但是你碰到操作数据量比较多的时候,这个方法就要退休了。

还是看看下面2个比较先进的方法把。
方法1: 用字符串的join方法:
a = ['a','b','c','d']
content = ''
content = ''.join(a)
print content

方法2: 用字符串的替换占位符替换
a = ['a','b','c','d']
content = ''
content = '%s%s%s%s' % tuple(a)
print content



原文
http://www.17jo.com/program/python/base/StringControl.html
Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。
# 例1:字符串截取
str = '12345678'
print str[0:1]
>> 1			# 输出str位置0开始到位置1以前的字符
print str[1:6]		
>> 23456			# 输出str位置1开始到位置6以前的字符
num = 18
str = '0000' + str(num)	# 合并字符串
print str[-5:]		# 输出字符串右5位
>> 00018

Python 替换字符串使用 变量.replace("被替换的内容","替换后的内容"[,次数]),替换次数可以为空,即表示替换所有。要注意的是使用replace替换字符串后仅为临时变量,需重新赋值才能保存。

# 例2:字符串替换
str = 'akakak'
str = str.replace('k',' 8')	# 将字符串里的k全部替换为8
print str
>> 'a8a8a8'		# 输出结果
Python 查找字符串使用 变量.find("要查找的内容"[,开始位置,结束位置]),开始位置和结束位置,表示要查找的范围,为空则表示查找所有。查找到后会返回位置,位置从0开始算,如果每找到则返回-1。


# 例3:字符串查找
str = 'a,hello'
print str.find('hello')	# 在字符串str里查找字符串hello
>> 2			# 输出结果

Python 分割字符串使用 变量.split("分割标示符号"[分割次数]),分割次数表示分割最大次数,为空则分割所有。

例4:字符分割
str = 'a,b,c,d'
strlist = str.split(',')	# 用逗号分割str字符串,并保存到列表
for value in strlist:	# 循环输出列表值
    print value
>> a			# 输出结果
>> b
>> c
>> d
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics