• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

展开数字在列表

python 来源:Guido Muscioni 3次浏览

我有号码的清单:展开数字在列表

[10,20,30] 

我需要的是要根据预定义的增量展开。因此,让我们把x增量和x=2,我的结果应该是:

[10,12,14,16,18,20,22,24,.....,38] 

现在我使用for循环,但它是非常缓慢的,我想知道是否有一种更快的方式。

编辑:

newA = [] 
for n in array: 
    newA= newA+ generateNewNumbers(n, p, t) 

功能生成新的号码简单地生成新的号码添加到列表中。

EDIT2: 为了更好地定义问题的第一阵列包含一些时间戳:

[10,20,30] 

我有两个参数,一个是采样率,一个是采样时间,我需要的是扩大数组根据采样率在两个时间戳之间添加正确数量的时间戳。 举例来说,如果我有一个采样率3和采样时间3的结果应该是:

[10,13,16,19,20,23,26,29,30,33,36,39] 


===========解决方案如下:

您可以使用np.add.outer将相同的增量集合添加到每个时间戳,然后使用ravel将结果展平。

import numpy as np 
a = [10,20,35] 
inc = 3 
ninc = 4 
np.add.outer(a, inc * np.arange(ninc)).ravel() 
# array([10, 13, 16, 19, 20, 23, 26, 29, 35, 38, 41, 44]) 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)