我的数据采用以下形式:
[{'value': 2, 'year': u'2015'}, {'value': 4, 'year': u'2016'}, {'value': 3, 'year': u'2018'}, {'value': 0, 'year': u'2014'}, {'value': 0, 'year': u'2017'}]
我想按年份排序。你能帮忙吗?
答案 0 :(得分:2)
您需要指定用于排序时进行比较的key
函数:
my_data = sorted( my_data, key = lambda x : x["year"])
答案 1 :(得分:0)
您应该为此使用itemgetter
>>> from operator import itemgetter
>>> data = [{'value': 2, 'year': u'2015'}, {'value': 4, 'year': u'2016'}, {'value': 3, 'year': u'2018'}, {'value': 0, 'year': u'2014'}, {'value': 0, 'year': u'2017'}]
>>> result = sorted(data, key=itemgetter('year'))
>>> print(result)
[{'value': 0, 'year': '2014'}, {'value': 2, 'year': '2015'}, {'value': 4, 'year': '2016'}, {'value': 0, 'year': '2017'}, {'value': 3, 'year': '2018'}]