繁体   English   中英

python方式对SortedDict进行排序

[英]pythonic way to sort a SortedDict

SortedDict是具有附加属性的python字典,该属性用作排序,

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']

现在,无论我们在哪里使用,都可以按特定顺序使用此排序的字典。

现在我必须根据优先级对这个字典进行排序,即关键顺序应该基于优先级

>>>print sorted_dict.keyOrder
>>> ['personnel info', 'additional info', 'educational info']

避免在这里使用forloop / function的任何pythonic方法(如已排序)。

注意:我已经有sortedDict与初始keyOrder。

提取优先级和键,然后根据优先级排序,即

sorted_dict.keyOrder = [key[1] for key in sorted((v['priority'],k) for k,v in sorted_dict.items())]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM