【发布时间】:2018-08-10 08:17:38
【问题描述】:
我有一个数据字典列表,在某些地方有序而在其他地方无序:
例如:
data = [{"text":'a', "value":1},
{"text":'b', "value":1},
{"text":'j', "value":2},
{"text":'k', "value":50},
{"text":'b', "value":50},
{"text":'y', "value":52},
{"text":'x', "value":2},
{"text":'k', "value":3},
{"text":'m', "value":3}]
我想将它们排序为:
o = [{"text":'a', "value":1},
{"text":'b', "value":1},
{"text":'j', "value":2},
{"text":'x', "value":2},
{"text":'k', "value":3},
{"text":'m', "value":3},
{"text":'k', "value":50},
{"text":'b', "value":50},
{"text":'y', "value":52}]
其中我的排序是项目索引和第二个值的某种组合,我正在考虑排序:
key=[(2nd value)<<len(closest power of 2 to len(index)) + index]
我可以按第二个值对字典列表进行排序:
data.sort(key= lambda x:x['value'])
我还要如何添加字典的索引?
我可以使用更好的排序键吗?
【问题讨论】: