The answer is that the faster syntax was first introduced in PEP 448 in 2013, and PEP 3106 , this link was written in 2006, so even if it happens faster in real time, it did not exist when PEP was written.
As others have pointed out, the role of PEP is not to create a template for the fastest code - in general, the code in PEP will strive to be as simple and clear as possible, because the examples usually relate to understanding the concepts and not reaching the best possible results, therefore, even if the syntax really existed at that time and faster in a real (and reliable) way, it still might not be used.
A little extra testing with large values:
python -m timeit -s "x = [1]*10000" "[*x]" 10000 loops, best of 3: 44.6 usec per loop python -m timeit -s "x = [1]*10000" "list(x)" 10000 loops, best of 3: 44.8 usec per loop
It actually shows the difference not twice, but rather at a flat price - I would suggest that this is the cost of searching for the built-in list() function. This is negligible in most real cases.
source share