http://jaynes.colorado.edu/PythonIdioms.htmlから
「文字列をリストとして構築し、最後に ''.join を使用します。join は、リストではなくセパレーターで呼び出される文字列メソッドです。空の文字列から呼び出すと、セパレーターなしでピースが連結されます。これは Python の癖であり、むしろ最初は驚く. これは重要です: + を使用した文字列の構築は、線形ではなく二次時間です! 1 つのイディオムを学ぶ場合は、このイディオムを学びます。
間違っています: 文字列内の s: 結果 += s
右: result = ''.join(strings)"
なぜこれが本当なのかわかりません。結合したい文字列がある場合、それらをリストに入れてから ''.join. それらをリストに入れるとオーバーヘッドが発生しませんか? 明確にするために...
Python コマンドライン:
>>> str1 = 'Not'
>>> str2 = 'Cool'
>>> str3 = ''.join([str1, ' ', str2]) #The more efficient way **A**
>>> print str3
Not Cool
>>> str3 = str1 + ' ' + str2 #The bad way **B**
>>> print str3
Not Cool
Aは本当に線形時間で、Bは二次時間ですか?