1
我知道sorted()
內置函數。這是一個API設計問題,而不是一個如何解決的問題。我想知道爲什麼list
類型有一個.sort()
方法來就地排序其內容,但其他可變序列類型,如array.array
和bytearray
不能。API:爲什麼Python數組沒有排序方法?
我知道sorted()
內置函數。這是一個API設計問題,而不是一個如何解決的問題。我想知道爲什麼list
類型有一個.sort()
方法來就地排序其內容,但其他可變序列類型,如array.array
和bytearray
不能。API:爲什麼Python數組沒有排序方法?
排序的代碼庫(使用兩種sorted()
和list.sort()
作品只與list
對象,並朝分揀蟒蛇對象減速;即可以實現決定訂購定製特殊的方法項目
因此,該代碼是不是爲array.array
和bytearray
類型,這在同質C類數據專門處理易於重用。
相反,你需要實現這些類型的專用排序方法,取你基本上處理的事實優勢b asic C類型在這裏。而且還沒有人做到這一點,這是真的只有原因這些類型沒有專用.sort()
方法。
的解決辦法是使用sorted()
和重鑄作爲原始類型:
a = array.array(a.typecode, sorted(a))
b = bytearray(sorted(b))
的numpy的ndarray
類型確實有.sort()
method;也許你應該使用這個庫,而不是你需要做很多排序。
優秀的答案!我一直在尋找Python核心開發人員的觀點,這就是你給我們的。非常感謝Martijn! –
注意:我*不是Python核心開發人員。 :-) –
好吧,您不是_Python_核心開發人員,_just_是Zope和Plone核心開發人員;-) –