Python の文字列連結: \'\'.join() が = より高速なのはどのような場合ですか?

Patricia Arquette
リリース: 2024-10-31 04:30:30
オリジナル
944 人が閲覧しました

Python String Concatenation: When is ''.join() Faster than  =?

文字列連結のパフォーマンス比較: = と ''.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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!