[英]Numpy version of this particular list comprehension
所以几天前,我需要在这个线程中进行一个特定的列表理解: 选择整数的子集给定两个端点列表
我得到了满意的答复。 现在快进,我需要以某种方式提高性能,因为我正在处理的工作涉及循环它,并且在每次迭代中,这些端点数组的长度至少为几千。
所以我的问题是 numpy 包中是否有任何功能可以完成工作但速度要快得多? 我查看了 numpy 的 linspace、repeat、arange 和其他东西,但没有找到任何突破口。 如果有一种方法可以更快地完成工作,你们能告诉我方法吗?
提前谢谢你们。
如果您仍然对它感兴趣,您可以去掉一个for
循环并使用numpy.arange()
结合列表理解和numpy.hstack()
来获得所需的内容。 话虽如此,我们仍然需要至少一个for
循环来完成这项工作(因为range
和arange
都不接受arange
端点)
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])
但是,我不知道对于您的特定情况,这会提高多少性能。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.