sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)
有人可以解释key=lambda x: x[1]
如何按值对字典进行排序吗?
答案 0 :(得分:2)
dict.items()
返回itemview对象。
就像这样:
dict_items([('key_1', 'val_1'), ('key_2', 'val_2'), ('key_3', 'val_3')])
因此,如果您传递此对象进行排序并以lambda x: x[1]
的形式输入键参数,它将根据itemview内部每个元组的第一个索引对itemview对象进行排序。由于将反向参数设置为True
如果我尝试通过示例进行解释,请考虑以下问题:
orders={'order_1':'Pizza','order_2':'Chicken','order_3':'Lasagne'}
sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)
print(sort_orders) #1
print(orders.items()) #2
第一张照片为您提供:
[('order_1', 'Pizza'), ('order_3', 'Lasagne'), ('order_2', 'Chicken')]
#2版画为您提供:
dict_items([('order_2', 'Chicken'), ('order_1', 'Pizza'), ('order_3', 'Lasagne')])
访问this有关排序的python文档,以获取与排序相关的更多信息
希望这会有所帮助!