我們可以在創建列表本身時創建排序列表嗎?在創建時創建排序列表
或者
是否有任何其他的數據結構,可以將值排序的順序,在創建時?
list = []
list.append("cde")
list.append("abc")
list.append("xyz") # append element in sorted order itself
我熟悉
list.sort() #or
list = sorted(list)
我們可以在創建列表本身時創建排序列表嗎?在創建時創建排序列表
或者
是否有任何其他的數據結構,可以將值排序的順序,在創建時?
list = []
list.append("cde")
list.append("abc")
list.append("xyz") # append element in sorted order itself
我熟悉
list.sort() #or
list = sorted(list)
您可以使用bisect
一個序列中執行命令插入。
bisect.bisect_left
(A,X,LO = 0,HI = LEN(一))在找到一個爲X插入點維持有序。 [...]返回值適合用作
list.insert()
的第一個參數,前提是a已被排序。
您可以使用OrderedDict
來創建有序的詞典。 你可以從這裏from collections import OrderedDict
導入OrderedDict
可以使用heapq
方法
>>> list = []
>>> import heapq
>>> heapq.heappush(list, "cde")
>>> heapq.heappush(list, "abc")
>>> heapq.heappush(list, "xyz")
>>> heapq.nsmallest(3, list)
['abc', 'cde', 'xyz']
它實際上沒有下令,但你可以執行你需要
我發現這是非常有用的有序操作,
class SList(list):
def append(self, data):
super(SList, self).append(data)
super(SList, self).sort()
slist = SList()
slist.append("cde")
slist.append("abc")
slist.append("xyz")
print slist
以同樣的方式,我們可以重寫其他方法也保持列表狀態如此Đ
請參閱http://stackoverflow.com/questions/5527630/is-there-a-standard-python-data-structure-that-keeps-thing-in-sorted-order – alecxe