Python2.5.4で、文字列結合の速度についていろいろ試してみました。
あらかじめb='b'、c='c'となっている場合:
a='b'+'c'
a=b+c
これはどちらも、ほぼ同じ時間でした。
変数に入れているほうが、オブジェクトの生成がなくて速そうですが、意外にもそうではありませんでした。
a=''.join(['b','c'])
a=''.join(('b','c'))
当然、下が速いです。リスト内包表記を使わないなら、タプルを使ったほうが良いですね。
あらかじめ_join=''.joinとなっている場合:
a=''.join(('b','c'))
a=_join(('b','c'))
これも、下が速いです。3回以上''.join(iter)を使うようでしたら、変数に入れておいたほうが速かったです。
あらかじめ_join=''.joinとなっている場合:
a='b'+'c'
a=_join(('b','c'))
これは、上のほうが速かったです。文字列が長かったり、何度も結合する場合は、_join(iter)のほうが速いはずなのですが、それは調査中です。
0 件のコメント:
コメントを投稿