簡體   English   中英

此特定列表理解的 Numpy 版本

[英]Numpy version of this particular list comprehension

所以幾天前,我需要在這個線程中進行一個特定的列表理解: 選擇整數的子集給定兩個端點列表

我得到了滿意的答復。 現在快進,我需要以某種方式提高性能,因為我正在處理的工作涉及循環它,並且在每次迭代中,這些端點數組的長度至少為幾千。

所以我的問題是 numpy 包中是否有任何功能可以完成工作但速度要快得多? 我查看了 numpy 的 linspace、repeat、arange 和其他東西,但沒有找到任何突破口。 如果有一種方法可以更快地完成工作,你們能告訴我方法嗎?

提前謝謝你們。

如果您仍然對它感興趣,您可以去掉一個for循環並使用numpy.arange()結合列表理解和numpy.hstack()來獲得所需的內容。 話雖如此,我們仍然需要至少一個for循環來完成這項工作(因為rangearange都不接受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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM