我想創建一個大的數字列表。
a = '1 1 1 2 2 0 0 1 1 1 1 9 9 0 0'
(它超過了一千萬)。需要更快更有效的方式將元素添加到Python中的列表中
我嘗試以下方法:
%timeit l = list(map(int, a.split()))
這是4.07 µs per loop
%timeit l = a.split(' ')
這是462 ns per loop
%timeit l = [i for i in a.split()]
花1.19 µs per loop
據我所知,第二和第三個變種字符列表,而第一個是整數列表,這很好。但是,隨着元素數量超過千萬,創建列表可能需要6秒鐘的時間。這對我的目的來說太長了。 有人能告訴我一個更快和更有效的方式來做到這一點。
感謝
輸入是空間分離的字符構成的字符串,我需要它是一個列表,以便它是可變的。 –
只是好奇,什麼是可接受的速度呢?秒處理1000萬個項目似乎是合理的 –
這是一個更大的代碼的一部分,所以我試圖看看我是否可以減少在這裏的時間。 –