Python 3.x 基于字典键的python排序表

Python 3.x 基于字典键的python排序表,python-3.x,Python 3.x,我有一个从json.loads()获得的列表 有没有办法根据host键对该列表进行排序,使其变成这样 mySortedList = [{'label': 'Users', 'host': 'ABC', 'tags': {'customer': 'ABC'}, 'data': [[1518756360, 1]]}, {'label': 'Users', 'host': 'EFG', 'tags': {'customer': 'EFG'}, 'data': [[15

我有一个从json.loads()获得的列表

有没有办法根据
host
键对该列表进行排序,使其变成这样

mySortedList = [{'label': 'Users', 'host': 'ABC', 'tags': {'customer': 'ABC'}, 'data': [[1518756360, 1]]}, 
                {'label': 'Users', 'host': 'EFG', 'tags': {'customer': 'EFG'}, 'data': [[1518756360, 1]]}, 
                {'label': 'Users', 'host': 'XYZ', 'tags': {'customer': 'XYZ'}, 'data': [[1518756360, 1]]}] 

我尝试了
myList.sort()
myList.sort(key='host')
,但没有成功。

使用
sorted
可以确定要使用lambda函数排序的内容。 在您的案例中,
排序(myList,key=lambda k:k['host'])

或者没有lambda(正如@padraic cunningham和@arount所指出的):


key=itemgetter('host')
做研究(搜索SO/google/api)应该在发布问题之前提交-请参阅。这样可以避免反复出现相同(或类似)的问题。这里不需要lambda。正如@padraic cunningham在评论中指出的,您只需指定要用作排序索引的键即可
mySortedList = [{'label': 'Users', 'host': 'ABC', 'tags': {'customer': 'ABC'}, 'data': [[1518756360, 1]]}, 
                {'label': 'Users', 'host': 'EFG', 'tags': {'customer': 'EFG'}, 'data': [[1518756360, 1]]}, 
                {'label': 'Users', 'host': 'XYZ', 'tags': {'customer': 'XYZ'}, 'data': [[1518756360, 1]]}] 
from operator import itemgetter
sorted(myList, key=itemgetter('host'))