我有以下字典:
employees = [
{'Name': 'Alan Turing', 'age': 25, 'salary': 10000},
{'Name': 'Sharon Lin', 'age': 30, 'salary': 8000},
{'Name': 'John Hopkins', 'age': 18, 'salary': 1000},
{'Name': 'Mikhail Tal', 'age': 40, 'salary': 15000},
]
现在,我想使用Lambda对这本字典进行排序,并使用键“age”。你可以在下面找到我是如何试图解决这个问题的:
print(list(map(employees.sort(key = lambda x: x.get('age')), employees)))
我得到以下错误:
Traceback (most recent call last):
File "<string>", line 10, in <module>
TypeError: 'NoneType' object is not callable
如何配置lambda以获得正确的输出
谢谢大家!
您想使用
sorted
而不是sort
。前者返回一个新数组,而后者就地进行排序如果确实希望就地排序,则
employees.sort(key=lambda x: x.get('age'))
的版本可以正常工作。但是,对sort的调用不会返回任何结果,因此如果要验证结果,请添加另一个对print的调用相关问题 更多 >
编程相关推荐