我们如何使用值的内部状态在python中对字典进行排序?
例如:
myDict = {'a': {'day': [0, 1, 2, 5], 'week': [4, 3, 1, 2, 3]},
'b': {'day': [0, 6, 2, 5], 'week': [4, 3, 1, 2, 3]}}
我想通过日期列表的第二个值为它们对应的值词典排序字典键。
答案 0 :(得分:2)
你可以这样排序
print sorted(myDict, key=lambda v: myDict[v]['day'][1])
# ['a', 'b']
key
参数接受一个函数,该函数将用于确定在排序期间用于当前项的值。
当sorted
遍历myDict
时,我们会获得每个密钥。因此,对于每个键,我们选择day
字典中的第二个元素,并将其用作表示排序期间键的值。
我们所做的是,当排序函数查找a
的值时,我们返回1
,当它查找b
时,我们返回6
。