[英]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.