最近一直在学Python语言,接触到了lambda函数这一特殊的语法,但是初学的话对这样的语句结构的应用没有一个很好的认识,下面针对列表中嵌套的字典依键进行排序的程序,展示匿名函数的作用。
# 待排序的列表
lst = [
{"name": "xiaohong", "age": 18},
{"name": "xiaoli", "age": 12},
{"name": "xiaoming", "age": 28},
{"name": "xiaoliu", "age": 19},
]
# 此列表不能通过列表内置的排序命令(sort)进行排序
# lst.sort()
# 会报错:
# TypeError: '<' not supported between instances of 'dict' and 'dict'
# 此时可以采用匿名函数的方法,读取键的方式实现排序
# lst.sort(key=lambda x: x["name"])
lst.sort(key=lambda x: x["age"])
print(lst)
可以得到如下结果:
[{'name': 'xiaoli', 'age': 12}, {'name': 'xiaohong', 'age': 18}, {'name': 'xiaoliu', 'age': 19}, {'name': 'xiaoming', 'age': 28}]