我有以下字典。
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} }
如何根据排序price。因此,结果字典将如下所示。
price
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}, }
OrderedDict从订购的项目元组列表构造一个:
OrderedDict
from collections import OrderedDict ordered = OrderedDict(sorted(a.items(), key=lambda i: i[1]['price']))
(.items()假设Python 3,在Python 2中iteritems应该做同样的事情。)
.items()
iteritems