Mak*_*man 2 python dictionary list
我有数据:
{'foo': [{1: 55}, {'c': 43}], 'bar': [{1: 43}, {'c': 40}]}
Run Code Online (Sandbox Code Playgroud)
我想根据它的值对foo和bar中的字典进行排序:
{'foo': [{'c': 43}, {1: 55}], ...}
Run Code Online (Sandbox Code Playgroud)
我不想排序'foo'和'bar'.
你有这么简单的方法吗?对不起,如果我在编写dicts/lists时出错了.谢谢
这是一种方式.sorted接受一个key接受匿名lambda函数的参数.由于每个字典只有一个键/值,您可以列出您的值并选择第一个.
d = {'foo': [{1: 55}, {'c': 43}], 'bar': [{1: 43}, {'c': 40}]}
res = {k: sorted(v, key=lambda x: list(x.values())[0]) for k, v in d.items()}
# {'bar': [{'c': 40}, {1: 43}], 'foo': [{'c': 43}, {1: 55}]}
Run Code Online (Sandbox Code Playgroud)