我想根据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']
答案 0 :(得分:3)
.sort
就地排序并修改列表。您将需要使用x['items'].sort(...)
而不使用结果(始终为None
)。