按多个键对dicts列表进行排序

时间:2014-08-08 23:57:11

标签: python list sorting

我想根据dicts中多个值的排名对dicts列表进行排序。但是排序返回None

代码:

def site_attr_rank(d):
    return attr_rank[d['site']], lang_rank[d['lang']]
attr_rank = {'apple':0, 'pear':1, 'banana':2}
lang_rank = {'a':0, 'b':1, 'c':2}
print 'items 1\n', x['items']
x['items'] = x['items'].sort(key=site_attr_rank)
print 'items 2\n', x['items']

1 个答案:

答案 0 :(得分:3)

.sort就地排序并修改列表。您将需要使用x['items'].sort(...)而不使用结果(始终为None)。