Почему мелкое копирование списка с использованием среза происходит намного быстрее, чем при использовании list
builtin?
In [1]: x = range(10)
In [2]: timeit x_ = x[:]
10000000 loops, best of 3: 83.2 ns per loop
In [3]: timeit x_ = list(x)
10000000 loops, best of 3: 147 ns per loop
Обычно, когда я вижу такие странные вещи, они фиксируются в python3, но это несоответствие все еще существует:
In [1]: x = list(range(10))
In [2]: timeit x_ = x[:]
10000000 loops, best of 3: 100 ns per loop
In [3]: timeit x_ = list(x)
10000000 loops, best of 3: 178 ns per loop