python中幾種字符串連接方式的比較


在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




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章