私がどちらかを選択できる場合
''.join( ['a', 'b'] )
と
''.join( ('a', 'b') )
どちらを使用すればよいですか (どちらが速いですか)? それは問題ですか?
timeit
それらはほぼ同等であり、モジュールを使用していつでもコードの時間を計ることができます:
In [145]: small_lis,small_tup = ['a','b']*10, ('a','b')*10
In [146]: avg_lis,avg_tup = ['a','b']*1000, ('a','b')*1000
In [147]: huge_lis,huge_tup = ['a','b']*10**6, ('a','b')*10**6
項目数が 20 の場合のタイミング結果:
>>> %timeit ''.join(small_lis)
1000000 loops, best of 3: 987 ns per loop
>>> %timeit ''.join(small_tup)
1000000 loops, best of 3: 1 us per loop
平均サイズ (2000 アイテム):
>>> %timeit ''.join(avg_lis)
10000 loops, best of 3: 71.5 us per loop
>>> %timeit ''.join(avg_tup)
10000 loops, best of 3: 72.8 us per loop
特大サイズ (2* 10**6 アイテム):
>>> %timeit ''.join(huge_lis)
1 loops, best of 3: 79.9 ms per loop
>>> %timeit ''.join(huge_tup)
1 loops, best of 3: 77.5 ms per loop