有人可以澄清一下,在 ND 陣列上使用 Numba 型別串列有什么好處?另外,兩者在速度方面如何比較,以及在什么情況下建議使用型別串列?
uj5u.com熱心網友回復:
當您需要附加元素序列但不知道元素的總數,甚至找不到合理的界限時,型別化串列非常有用。這樣的資料結構比一維陣列(在記憶體空間和計算時間上)要貴得多。
一維陣列不能有效地調整大小:需要創建一個新陣列并且必須執行復制。然而,一維陣列的索引非常便宜。Numpy 還提供了許多可以對它們進行本機操作的函式(串列在傳遞給 Numpy 函式時會隱式轉換為陣列,這個程序很昂貴)。請注意,專案的數量可以限制在一個合理的大小(即不比實際元素的數量高多少),您可以創建一個大陣列,然后添加元素,最后處理陣列的子視圖.
ND 陣列不能直接與串列進行比較。請注意,串列串列類似于鋸齒狀陣列(它們可以包含不同大小的串列),而 ND 陣列類似于(固定大小)N x ... x M表。串列串列非常低效,通常不需要。
因此,盡可能使用 ND 陣列,并且不需要經常調整它們的大小(或附加/洗掉元素)。否則,使用型別串列。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/389797.html
