Python 此特定列表的Numpy版本
所以几天前,我在这篇文章中需要一个特别的列表理解: 我得到了一个满意的答案。现在快进一步,我需要以某种方式提高性能,因为我正在使用的是循环,在每次迭代中,这些端点数组的长度至少为几千 所以我的问题是,在numpy包中是否有任何函数可以更快地完成任务?我调查过numpy的linspace、repeat、arange等等,没有发现任何突破。如果有什么方法可以更快地完成任务,你们能给我指路吗Python 此特定列表的Numpy版本,python,list,performance,numpy,list-comprehension,Python,List,Performance,Numpy,List Comprehension,所以几天前,我在这篇文章中需要一个特别的列表理解: 我得到了一个满意的答案。现在快进一步,我需要以某种方式提高性能,因为我正在使用的是循环,在每次迭代中,这些端点数组的长度至少为几千 所以我的问题是,在numpy包中是否有任何函数可以更快地完成任务?我调查过numpy的linspace、repeat、arange等等,没有发现任何突破。如果有什么方法可以更快地完成任务,你们能给我指路吗 提前感谢各位。如果您仍然对它感兴趣,您可以取消一个for循环,并使用numpy.arange()与列表理解和n
提前感谢各位。如果您仍然对它感兴趣,您可以取消一个
for
循环,并使用numpy.arange()
与列表理解和numpy.hstack()
结合使用,以获得所需内容。话虽如此,我们仍然需要至少一个循环来完成这项工作(因为范围和区域都不接受端点序列)
然而,我不知道这对你的具体案例会有多大的影响 请提供一个独立的问题,包括独立的示例代码和您已经尝试过的示例。好的,稍后我将以更好的演示再次提问。谢谢你的反馈。你可以直接问你的问题,这比以后再问要好。感谢你的帮助,我会调查它有多大改进。@mathguy当然,请让我知道,这样我可以改进我的答案,如果可能:)奇怪,在我的电脑中,旧的解决方案比新的快。旧的循环需要13.4毫秒,新的循环需要50.4毫秒。我正在使用的t1和t2有10000个条目,而不是3个条目
t1 = [0,13,22]
t2 = [4,14,25]
np.hstack([np.arange(r[0], r[1]+1) for r in zip(t1, t2)])
# outputs
array([ 0, 1, 2, 3, 4, 13, 14, 22, 23, 24, 25])