我有一个数字列表(基本示例)[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++程序(该算法编写简单,并且可能有一点线程可优化性)。否则,如果你的目标是完成这一项工作,只要坚持这个脚本并等待答案;一般来说,这取决于数字有多大(如数百万或数万亿),以及您认为您将使用此脚本/程序的次数。 –