What is the fastest way to initialize an integer array in python?

前端 未结 6 385
终归单人心
终归单人心 2020-12-11 06:57

Say I wanted to create an array (NOT list) of 1,000,000 twos in python, like this:

array = [2, 2, 2, ...... , 2]

What would be a fast but simple

6条回答
  •  时光取名叫无心
    2020-12-11 07:33

    A hybrid approach works fastest for me

    $ 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
    

提交回复
热议问题