在python中,若要把许多字符串连接成一个新的字符串,方式有很多种,但是效率却不同。
可能在平时的学习中感觉不到,但是当字符串比较多或者运行在服务器上时,性能就显得很重要了
今天我就比较了这几种方式。
1. 使用 '+' 连接
例如 s = s+ 'hello world!'
这种方式最慢
2. 使用 ' +='
例如 s += 'hello wold'
这种方式与第一种作用相同,但是效率高一点
3.使用 ".join(list)"
这种方式效率最高
使用时可以先用一个list缓存字符串,然后使用join方法,得到最终结果
4.python的字符串格式化操作符 %
例如 s = '%s New %s !'%('Happy','Year')
这种方式会让代码的可读性更好,也不用对非字符串调用str方法
示例代码
import time
if __name__ == '__main__':
strs = []
for i in range(2000000):
strs.append('abc')
t1 = time.time()
s1 = ''
for item in strs:
s1 += item
print '+='.ljust(15), time.time() - t1
s3 = ''
for item in strs:
s3 = s3 + item
print '+'.ljust(15), time.time() - t1
t2 = time.time()
s2 = ''.join(strs)
print '.join(list)'.ljust(15), time.time() - t2
s = '%s New %s' % ('Happy', 'Year')
print '%'.ljust(15), s
结果如下 单位为秒
+= 3.78299999237
+ 7.3100001812
.join(list) 0.0149998664856