这是我运行的代码:
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()快,即使两者都复制列表?
注意:我正在运行Python 2.7在一个2.53Ghz的i5上,带有Win7。