字典排序

# # 字典嵌套排序
students = [{'name': 'Jack', 'age': 17, 'score': 89}, {'name': 'Julia', 'age': 17, 'score': 80}, {'name': 'Tom', 'age': 16, 'score': 80}] # 按分数排序 students.sort(key=lambda student: student['score']) print(students)
# 按分数和年龄排序 students.sort(key=lambda student: (student['score'], student['age'])) print(students) # 按分数降序和年龄升序 students.sort(key=lambda student: (-student['score'], student['age'])) print(students) #[{'name': 'Julia', 'age': 17, 'score': 80}, {'name': 'Tom', 'age': 16, 'score': 80}, {'name': 'Jack', 'age': 17, 'score': 89}] #[{'name': 'Tom', 'age': 16, 'score': 80}, {'name': 'Julia', 'age': 17, 'score': 80}, {'name': 'Jack', 'age': 17, 'score': 89}] #[{'name': 'Jack', 'age': 17, 'score': 89}, {'name': 'Tom', 'age': 16, 'score': 80}, {'name': 'Julia', 'age': 17, 'score': 80}]

 

# # 单个字典
dict1 = {'a': 12, 'b': 5, 'c': 23, 'd': 40} # 根据value升序 asc_dict = {k: v for k, v in sorted(dict1.items(), key=lambda x: x[1])} print(asc_dict) # 根据value降序 desc_dict = {k: v for k, v in sorted(dict1.items(), key=lambda x: x[1], reverse=True)} print(desc_dict) # 根据key升序 key_dict = {k: v for k, v in sorted(dict1.items(), key=lambda x: x[0])} print(key_dict) {'b': 5, 'a': 12, 'c': 23, 'd': 40} {'d': 40, 'c': 23, 'a': 12, 'b': 5} {'a': 12, 'b': 5, 'c': 23, 'd': 40}

 

posted @ 2023-07-05 17:43  你说夕阳很美  阅读(33)  评论(0)    收藏  举报