Python排序列表

Python排序列表,python,list,dictionary,Python,List,Dictionary,如果我得到这行代码: my_list = [3,4,7,2,1,6,8,2,1,4] 我可以将此列表排序为: my_list.sort() 但是,如果我想创建一个产品列表,例如:2杯牛奶、3块饼干等等,如果我对这个列表进行排序[3,2],我将无法知道我应该购买多少牛奶或饼干。我的问题是如何使用字典或列表,以便对列表/字典进行排序,并在排序后知道产品名称。将值放在元组中,它们将保持在一起 >>> L = [(3, 'cookies'), (2, 'milk')] >&g

如果我得到这行代码:

my_list = [3,4,7,2,1,6,8,2,1,4]
我可以将此列表排序为:

my_list.sort()

但是,如果我想创建一个产品列表,例如:2杯牛奶、3块饼干等等,如果我对这个列表进行排序[3,2],我将无法知道我应该购买多少牛奶或饼干。我的问题是如何使用字典或列表,以便对列表/字典进行排序,并在排序后知道产品名称。

将值放在元组中,它们将保持在一起

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

当比较元组时,数字必须排在第一位,首先比较第一个元素,然后比较第二个元素,以此类推。这称为字典顺序。

将值放在元组中,它们将保持在一起

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

当比较元组时,数字必须排在第一位,首先比较第一个元素,然后比较第二个元素,以此类推。这称为字典顺序。

这取决于如何表示产品列表。假设我们将其表示为元组列表:

product_list = [(2,'milk'),(3,'cookie')]
现在,您可以使用
键进行排序
,并在
True
上设置
reverse
以降序排序:

现在我们对每个元组的第一项进行排序,并按降序进行排序。这将导致:

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

这取决于你如何表达你的产品清单。假设我们将其表示为元组列表:

product_list = [(2,'milk'),(3,'cookie')]
现在,您可以使用
键进行排序
,并在
True
上设置
reverse
以降序排序:

现在我们对每个元组的第一项进行排序,并按降序进行排序。这将导致:

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

排序的元组长度有限制吗?只是好奇。@Prajwal-nah,只要元组可以留在内存中。排序的元组长度有限制吗?“只是好奇。”Prajwal不,只要元组能留在记忆中。