我有一個數字列表(基本示例)[50,100,150,200,250]
我需要從指定的索引和指定的數量中增加(或減少)每個數字。我已經能夠做到這一點有兩種方法:從某個點列表中的Python增量數字
from itertools import islice
l = [50,100,150,200,250]
start_increment_index = 3
l[start_increment_index:] = [e+100 for e in l[start_increment_index:]]
print (l)
l = [50,100,150,200,250]
l[start_increment_index:] = [e+100 for e in islice(l,start_increment_index,len(l))]
print (l)
兩個打印:[50, 100, 150, 300, 350]
但是,我真正的列表中包含數以百萬計的數字,並用不同的指標和不同的遞增/遞減反覆進行此操作。有沒有更快的方式使用Python列表來完成此操作?我一直在考慮編寫我自己的C/C++擴展來處理這個問題
編輯:這對Python一般來說會是一個有用的模塊嗎?用C語言編寫的函數可以帶參數(python_list_object, increment_amount, start_index, end_index)
?
如果問一個Python問題,不要添加不相關的語言標記(如C或C++)。如果您*寫* C或C++模塊,*然後*您可以使用(相關)標籤的問題。 –
檢查Python的數組結構,它是有效的數值數組 – Vinny
如果您需要最佳性能,您應該編寫一個C/C++程序(該算法編寫簡單,並且可能有一點線程可優化性)。否則,如果你的目標是完成這一項工作,只要堅持這個腳本並等待答案;一般來說,這取決於數字有多大(如數百萬或數萬億),以及您認爲您將使用此腳本/程序的次數。 –