Une approche hybride fonctionne le plus rapide pour moi
$ python -m timeit -s"import array" "arr = array.array('i', [2]*100) * 10000"
100 loops, best of 3: 5.38 msec per loop
$ python -m timeit -s"import array" "arr = array.array('i', [2]) * 1000000"
10 loops, best of 3: 20.3 msec per loop
$ python -m timeit -s"import array" "arr = array.array('i', [2]*10) * 100000"
100 loops, best of 3: 6.69 msec per loop
$ python -m timeit -s"import array" "arr = array.array('i', [2]*100) * 10000"
100 loops, best of 3: 5.38 msec per loop
$ python -m timeit -s"import array" "arr = array.array('i', [2]*1000) * 1000"
100 loops, best of 3: 5.47 msec per loop
$ python -m timeit -s"import array" "arr = array.array('i', [2]*10000) * 100"
100 loops, best of 3: 6.13 msec per loop
$ python -m timeit -s"import array" "arr = array.array('i', [2]*100000) * 10"
10 loops, best of 3: 14.9 msec per loop
$ python -m timeit -s"import array" "arr = array.array('i', [2]*1000000)"
10 loops, best of 3: 77.7 msec per loop
Je ne connais pratiquement pas Python, mais pourrait-il être quelque chose comme 'array = [2 for x in 1..1000000]'? –
Cette question préalable pourrait vous aider - http://stackoverflow.com/questions/1859864/how-to-create-an-integer-array-in-python – chauncey
@mmyers: Votre suggestion n'est pas une syntaxe valide; vous pouvez vouloir dire '[2 pour x dans xrange (1000000)]'; '[2] * 1000000' serait plus rapide et plus simple; cependant, ils produisent un 'list' -' array' et 'list' signifient des choses différentes en Python. –