SortedDict是一个python dict,带有一个附加属性,用作排序,
sorted_dict = {
'personnel info': {'name': 'p_info', 'priority': 1},
'educational info': {'name': 'edu_info', 'priority': 3}
'additional info': {'name': 'adi_info', 'priority': 2}
}
sorted_dict.keyOrder = ['personnel info', 'educational info', 'additional info']
现在我们可以在任何地方使用这个排序的dict进行特定排序。
现在我必须根据优先级对此dict进行排序,即密钥顺序应优先[/ p>]
>>>print sorted_dict.keyOrder
>>> ['personnel info', 'additional info', 'educational info']
任何pythonic方式(如排序)以避免在此处使用forloop / function。
注意:我已经使用初始keyOrder进行了sortedDict。
答案 0 :(得分:1)
提取优先级和密钥,然后根据优先级进行排序,即
sorted_dict.keyOrder = [key[1] for key in sorted((v['priority'],k) for k,v in sorted_dict.items())]