python嵌套字典按key排序,在Python中对嵌套字典进行排序

I have the following dictionary.

var = a = {

'Black': { 'grams': 1906, 'price': 2.05},

'Blue': { 'grams': 9526, 'price': 22.88},

'Gold': { 'grams': 194, 'price': 8.24},

'Magenta': { 'grams': 6035, 'price': 56.69},

'Maroon': { 'grams': 922, 'price': 18.76},

'Mint green': { 'grams': 9961, 'price': 63.89},

'Orchid': { 'grams': 4970, 'price': 10.78},

'Tan': { 'grams': 6738, 'price': 50.54},

'Yellow': { 'grams': 6045, 'price': 54.19}

}

How can I sort it based on the price. So the resulting dictionary will look like below.

result = {

'Black': { 'grams': 1906, 'price': 2.05},

'Gold': { 'grams': 194, 'price': 8.24},

'Orchid': { 'grams': 4970, 'price': 10.78},

'Maroon': { 'grams': 922, 'price': 18.76},

'Blue': { 'grams': 9526, 'price': 22.88},

'Tan': { 'grams': 6738, 'price': 50.54},

'Magenta': { 'grams': 6035, 'price': 56.69},

'Mint green': { 'grams': 9961, 'price': 63.89},

}

解决方案

Construct an OrderedDict from a list of ordered item tuples:

from collections import OrderedDict

ordered = OrderedDict(sorted(a.items(), key=lambda i: i[1]['price']))

(.items() assumes Python 3, in Python 2 iteritems should do the same.)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值