【发布时间】:2018-07-06 22:02:34
【问题描述】:
我有一个列表中的字典列表,需要按点键对列表进行排序。
我能够使用“点”列表的第一个位置进行排序,但希望根据第一个位置和第二个位置进行排序。
a = [
{
'label':'a',
'points': [[70,2],[60,4]]
}
,
{
'label':'b',
'points': [[90,6],[80,8]]
}
,
{
'label':'c',
'points': [[50,10],[40,12]]
}
]
def sort_point_by_first_occur(item):
print item['points'][0][0]
return item['points'][0][0]
print sorted(a, key=sort_point_by_first_occur)
当前输出:-
[{'points': [[50, 10], [60, 4]], 'label': 'a'}, {'points': [[50, 2], [40, 12]], 'label': 'c'}, {'points': [[90, 6], [80, 8]], 'label': 'b'}]
异常输出:
[{'points': [[50, 2], [60, 4]], 'label': 'a'}, {'points': [[50, 10], [40, 12]], 'label': 'c'}, {'points': [[90, 6], [80, 8]], 'label': 'b'}]
【问题讨论】:
-
你的意思是输出中的
[70, 2]?
标签: python