ホームページ >バックエンド開発 >Python チュートリアル >Python の文字列連結: \'\'.join() が = より高速なのはどのような場合ですか?
文字列連結のパフォーマンス比較: = と ''.join()
前の回答でこのトピックに取り組んでいるときに、興味が湧きました= 演算子と文字列連結の ''.join() メソッドの間のパフォーマンスの差異について。そこで、直接比較してみることにしました。
効率的な文字列連結の結果によると、''.join() は速度の点で = 演算子よりもはるかに優れています。この矛盾は、Python の文字列の不変の性質に起因すると考えられます。文字列はその場で変更できないため、文字列を連結しようとすると新しい文字列を作成する必要があり、これには大幅な計算オーバーヘッドが伴います。
次のコード スニペットはパフォーマンスの違いを示しています。
<code class="python">def method1(): out_str = '' for num in xrange(loop_count): out_str += 'num' return out_str def method4(): str_list = [] for num in xrange(loop_count): str_list.append('num') return ''.join(str_list)</code>
これらのメソッドは完全に同等ではありませんが (メソッド 4 は要素を結合する前にリストに追加します)、パフォーマンスの違いをかなり正確に表現します。
結果を視覚化すると、文字列の結合が明らかです。連結よりも大幅に高速です:
[test_20k.gif の画像]
以上がPython の文字列連結: \'\'.join() が = より高速なのはどのような場合ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。