Python實戰從入門到精通第八講——字符串與文本2之合併拼接字符串

將幾個小的字符串合併爲一個大的字符串

合併的字符串是在一個序列或者 iterable 中,那麼最快的方式就是使用 join() 方法。比如:

>>> parts = ['Is', 'Chicago', 'Not', 'Chicago?']
>>> ' '.join(parts)
'Is Chicago Not Chicago?'
>>> ','.join(parts)
'Is,Chicago,Not,Chicago?'
>>> ''.join(parts)
'IsChicagoNotChicago?'

只是合併少數幾個字符串,使用加號(+)通常已經足夠了:

>>> a = 'Is Chicago'
>>> b = 'Not Chicago?'
>>> a + ' ' + b
'Is Chicago Not Chicago?'

需要引起注意的是,當我們使用加號(+)操作符去連接大量的字符串的時候是非常低效率的, 因爲加號連接會引起內存複製以及垃圾回收操作。 特別的,你永遠都不應像下面這樣寫字符串連接代碼:

s = ''
for p in parts:
    s += p

這種寫法會比使用 join() 方法運行的要慢一些,因爲每一次執行+=操作的時候會創建一個新的字符串對象。 你最好是先收集所有的字符串片段然後再將它們連接起來。

一個相對比較聰明的技巧是利用生成器表達式:

>>> data = ['ACME', 50, 91.1]
>>> ','.join(str(d) for d in data)
'ACME,50,91.1'

 

發佈了367 篇原創文章 · 獲贊 188 · 訪問量 51萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章