排序一组dicts

Wes*_*Wes 3 python sorting

我是Python的新手,如果我正确地做这件事,我很好奇.我有一个dicts元组(来自数据库调用):

companies = ( { 'companyid': 1, 'companyname': 'Company C' },
              { 'companyid': 2, 'companyname': 'Company A' },
              { 'companyid': 3, 'companyname': 'Company B' } )
Run Code Online (Sandbox Code Playgroud)

我想在公司名称上对此进行排序.有没有比这更正确的方法呢?

sortcompanies = list(companies)
sortcompanies.sort(lambda x,y: cmp(x['companyname'],y['companyname']))
Run Code Online (Sandbox Code Playgroud)

谢谢你的批评!

ext*_*eon 7

你可以这样做:

import operator
...
sortcompanies.sort(key=operator.itemgetter("companyname"))
Run Code Online (Sandbox Code Playgroud)

我认为这是一个品味问题.

编辑companyid取代了companyname.纠正了这个错误.