Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 此特定列表的Numpy版本_Python_List_Performance_Numpy_List Comprehension - Fatal编程技术网

Python 此特定列表的Numpy版本

Python 此特定列表的Numpy版本,python,list,performance,numpy,list-comprehension,Python,List,Performance,Numpy,List Comprehension,所以几天前,我在这篇文章中需要一个特别的列表理解: 我得到了一个满意的答案。现在快进一步,我需要以某种方式提高性能,因为我正在使用的是循环,在每次迭代中,这些端点数组的长度至少为几千 所以我的问题是,在numpy包中是否有任何函数可以更快地完成任务?我调查过numpy的linspace、repeat、arange等等,没有发现任何突破。如果有什么方法可以更快地完成任务,你们能给我指路吗 提前感谢各位。如果您仍然对它感兴趣,您可以取消一个for循环,并使用numpy.arange()与列表理解和n

所以几天前,我在这篇文章中需要一个特别的列表理解:

我得到了一个满意的答案。现在快进一步,我需要以某种方式提高性能,因为我正在使用的是循环,在每次迭代中,这些端点数组的长度至少为几千

所以我的问题是,在numpy包中是否有任何函数可以更快地完成任务?我调查过numpy的linspace、repeat、arange等等,没有发现任何突破。如果有什么方法可以更快地完成任务,你们能给我指路吗


提前感谢各位。

如果您仍然对它感兴趣,您可以取消一个
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])