2017-05-21 105 views
0

如果我有這行代碼:Python的 - 排序列表

my_list = [3,4,7,2,1,6,8,2,1,4] 

我可以排序此列表:

my_list.sort() 

但是,如果我想創建一個產品清單,例如:2牛奶,3個餅乾等等,如果我將這個列表分類[3,2],我將無法知道應該購買多少牛奶或餅乾。我的問題是如何使用字典或列表,這樣我就可以對列表/字典進行排序,並在排序後知道產品名稱。

回答

3

那麼它取決於你如何代表您的產品列表。說不過我們代表它作爲tupes列表:

product_list = [(2,'milk'),(3,'cookie')] 

現在你可以用一個key排序和True設置reverse降序排序順序:現在我們的排序上

product_list.sort(reverse=True, key=lambda x: x[0]) 

所以每個元組的第一個項目,我們按降序進行。這將導致:

>>> product_list 
[(3, 'cookie'), (2, 'milk')] 
3

把這些值放在元組中,它們將保持在一起。

>>> L = [(3, 'cookies'), (2, 'milk')] 
>>> L 
[(3, 'cookies'), (2, 'milk')] 
>>> L.sort() 
>>> L 
[(2, 'milk'), (3, 'cookies')] 

數目必須先來當元組進行比較時,首先,第1元件進行比較,則第二等這被稱爲字典順序。

+0

對排序的元組長度有沒有限制?只是好奇。 – Prajwal

+1

@Prajwal nah,只要元組可以留在記憶中。 –