2017-02-04 56 views
0

爲什麼array類沒有.sort()?我不知道如何直接對數組進行排序。爲什麼'數組'沒有像列表那樣的就地排序呢?

array.array是一個打包列表,看起來像一個C數組。 我想使用它,因爲在我的情況下只需要數字,但我需要能夠對其進行分類。有沒有辦法有效地做到這一點?

+0

也許numpy是否合適? https://stackoverflow.com/questions/5540148/how-to-sort-an-integer-array-in-place-in-python – Ryan

+0

@Ryan這不是一個好主意,但我仍然想知道爲什麼array.array( )沒有.sort(), – luoyi

+0

@Ryan,這個數組可以緊湊地表示一組基本值,這意味着不需要py_object,只需要new int [],short []或其他東西,它可以很快。想要排序,只需在C中調用qsort(),所以我很困惑 – luoyi

回答

-2

列表是一種數據結構,它具有可以輕鬆執行某些操作的特性。一個數組是一個很好理解的標準數據結構,並未針對排序進行優化。數組基本上是存儲數據集的產品的標準方式。從來沒有過分類的概念。

+0

*「列表是一種數據結構,它具有可以輕鬆做某些事情的特性。」*這不是很具體。 *「一個數組是一個非常好理解的標準數據結構,並沒有針對排序進行優化。」*什麼。 *「數組基本上是存儲數據集的產品的標準方式。從來沒有過分類的概念。「*什麼。 – Ryan

+0

我感謝你的第一點,因爲它是建設性的。不過,恐怕你必須對第二次投訴更具體。數組是標準的數據結構。 –

+0

具體來說:「沒有針對排序進行優化」是我接受問題的部分。有許多用恆定時間隨機讀取和寫入來排序序列的算法,即數組。也許你正在談論一種不同類型的數組,其定義更接近「存儲數據集產品的標準方式」?然而,array.array(這個問題似乎是關於什麼的)只是一個打包列表。 – Ryan

相關問題