在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