1. ホーム
  2. python

[解決済み] Pythonの文字列連結とstr.joinの比較でどれくらい遅いか?

2023-03-18 20:18:53

質問

の回答でコメントさせていただいた結果 このスレッド との速度差はどの程度なのか知りたかったのです。 += 演算子と ''.join()

では、この2つの速度比較はどうでしょうか?

どのように解決するのか?

からです。 効率的な文字列の連結

方法1:

def method1():
  out_str = ''
  for num in xrange(loop_count):
    out_str += 'num'
  return out_str

方法4

def method4():
  str_list = []
  for num in xrange(loop_count):
    str_list.append('num')
  return ''.join(str_list)

4番目のメソッドは、各項目を反復処理し結合する前にリストに追加しています。

文字列の結合は、結合よりもかなり高速です。

なぜでしょうか?文字列は不変であり、その場で変更することはできません。1つを変更するには、新しい表現を作成する必要があります(2つの連結)。