如果我得到这行代码:
my_list = [3,4,7,2,1,6,8,2,1,4]
我可以用以下内容对此列表进行排序:
my_list.sort()
但如果我想创建一个产品清单,例如:2个奶,3个饼干等等,如果我要对这个清单进行排序[3,2]我将无法知道我应该购买多少牛奶或饼干。我的问题是如何使用字典或列表,以便我能够对列表/字典进行排序,并在排序后知道产品名称。
答案 0 :(得分:3)
将值放在元组中,它们将保持在一起。
>>> L = [(3, 'cookies'), (2, 'milk')]
>>> L
[(3, 'cookies'), (2, 'milk')]
>>> L.sort()
>>> L
[(2, 'milk'), (3, 'cookies')]
当比较元组时,必须首先考虑数字,首先比较第一个元素,然后比较第二个元素,等等。这称为词典顺序。
答案 1 :(得分:3)
这取决于您如何表示您的产品列表。但是,我们将其表示为tupes列表:
product_list = [(2,'milk'),(3,'cookie')]
现在,您可以使用key
进行排序,并在reverse
上设置True
,以降序顺序排序:
product_list.sort(reverse=True, key=lambda x: x[0])
所以现在我们对每个元组的 first 项进行排序,我们按降序排序。这将导致:
>>> product_list
[(3, 'cookie'), (2, 'milk')]