列表嵌套字典的排序
类型:字典
描述
第一行输入一个正整数 N,随后的N 行各输入一个人的姓名和年龄,中间用空格分隔(形如 “Tom 18” ),将字符串转为形如 {"name":"Tom","age":18}
的字典,按顺序加入到列表中,得到一个元素为字典的列表,分别根据年龄和姓名对其排序输出。
输入格式
第一行输入一个正整数 N
随后的N 行各输入一个形如 “Tom 18” 的字符串
输出格式
根据年龄排序的列表
根据姓名排序的列表
示例 1
输入:
4
Tom 18
Jerry 47
Cat 20
Doge 33
输出:
[{'name': 'Tom', 'age': 18}, {'name': 'Cat', 'age': 20}, {'name': 'Doge', 'age': 33}, {'name': 'Jerry', 'age': 47}]
[{'name': 'Cat', 'age': 20}, {'name': 'Doge', 'age': 33}, {'name': 'Jerry', 'age': 47}, {'name': 'Tom', 'age': 18}]
参考代码
n = int(input())
ls = []
for i in range(n):
x = input().split()
ls.append({"name":x[0],"age":int(x[1])})
print(sorted(ls,key=lambda x: x['age']))
print(sorted(ls,key=lambda x: x['name']))