说我有一个重点清单:
data = [
{'a': 1, 'b': 4, 'c': 3},
{'a': 2, 'b': 3, 'c': 5},
{'a': 4, 'b': 6, 'c': 2},
]
如何在第二个元素b
上对其进行排序?这样排序后的列表将如下所示:
data = [
{'a': 2, 'b': 3, 'c': 5},
{'a': 1, 'b': 4, 'c': 3},
{'a': 4, 'b': 6, 'c': 2},
]
我已经尝试过sorted(data,key = itemgetter(1))
和sorted(data,key = lambda test:test [1])
,但是我得到了KeyError:1
。
由于我的清单中包含字母和数字,因此我不确定如何继续解决该问题。我不想将其转换为字符串,因为稍后我将不得不访问数字。先感谢您。
问题来源:stackoverflow
def func(dic):
return dic["b"]
print (sorted(data,key=func))
这将返回您期望的输出
回答来源:stackoverflow
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。