这是我运行的代码:
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