私が実行したコードは次のとおりです。
import timeit
print timeit.Timer('''a = sorted(x)''', '''x = [(2, 'bla'), (4, 'boo'), (3, 4), (1, 2) , (0, 1), (4, 3), (2, 1) , (0, 0)]''').timeit(number = 1000)
print timeit.Timer('''a=x[:];a.sort()''', '''x = [(2, 'bla'), (4, 'boo'), (3, 4), (1, 2) , (0, 1), (4, 3), (2, 1) , (0, 0)]''').timeit(number = 1000)
結果は次のとおりです。
0.00259663215837
0.00207390190177
どちらもリストをコピーしているにもかかわらず、 .sort() を使用すると sorted() よりも一貫して高速である理由を知りたいですか?
注: Win7 を搭載した 2.53Ghz i5 で Python 2.7 を実行しています。