Python中的排序输出方法
Python中有多种方法可以实现对数据的排序输出,以下是几种常用的方法:

1、使用内置函数sorted()
sorted() 函数可以对任何可迭代对象进行排序,并返回一个新的列表,而不改变原有的可迭代对象。
简单排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
sorted_numbers = sorted(numbers)
print(sorted_numbers) # 输出: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] 逆序排序
sorted_numbers_desc = sorted(numbers, reverse=True)
print(sorted_numbers_desc) # 输出: [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] 复杂排序
words = ["banana", "apple", "cherry", "date"]
sorted_words = sorted(words, key=len)
print(sorted_words) # 输出: ['date', 'apple', 'banana', 'cherry'] 2、使用列表的sort() 方法
列表对象有一个sort() 方法,可以对列表进行原地排序,不返回新的列表。

简单排序
numbers = [3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5]
numbers.sort()
print(numbers) # 输出: [1, 1, 2, 3, 3, 4, 5, 5, 5, 6, 9] 逆序排序
numbers.sort(reverse=True)
print(numbers) # 输出: [9, 6, 5, 5, 5, 4, 3, 3, 2, 1, 1] 复杂排序
words = ["banana", "apple", "cherry", "date"]
words.sort(key=len)
print(words) # 输出: ['date', 'apple', 'banana', 'cherry'] 3、结合自定义函数或lambda表达式进行排序
使用自定义函数
def custom_sort(item):
return item % 10
numbers = [23, 45, 12, 56, 78, 89, 34]
sorted_numbers = sorted(numbers, key=custom_sort)
print(sorted_numbers) # 输出: [34, 12, 23, 45, 56, 78, 89] 使用lambda表达式
sorted_numbers = sorted(numbers, key=lambda x: x % 10)
print(sorted_numbers) # 输出: [34, 12, 23, 45, 56, 78, 89] 4、对嵌套数据结构进行排序

对包含字典的列表进行排序
students = [
{"name": "John", "age": 23},
{"name": "Jane", "age": 22},
{"name": "Dave", "age": 25}
]
sorted_students = sorted(students, key=lambda x: x['age'])
print(sorted_students)
# 输出: [{'name': 'Jane', 'age': 22}, {'name': 'John', 'age': 23}, {'name': 'Dave', 'age': 25}] 对包含元组的列表进行排序
students = [
("John", 23),
("Jane", 22),
("Dave", 25)
]
sorted_students = sorted(students, key=lambda x: x[1])
print(sorted_students)
# 输出: [('Jane', 22), ('John', 23), ('Dave', 25)] 5、结合多个条件进行排序
使用元组
students = [
{"name": "John", "age": 23, "grade": 88},
{"name": "Jane", "age": 22, "grade": 92},
{"name": "Dave", "age": 25, "grade": 88}
]
sorted_students = sorted(students, key=lambda x: (x['grade'], x['age']))
print(sorted_students)
# 输出: [{'name': 'John', 'age': 23, 'grade': 88}, {'name': 'Dave', 'age': 25, 'grade': 88}, {'name': 'Jane', 'age': 22, 'grade': 92}] 6、输入三个整数并按顺序输出
a, b, c = map(int, input("请输入三个数,用空格隔开:").split())
nums = [a, b, c]
print(sorted(nums)) # 从小到大排序输出
print(sorted(nums, reverse=True)) # 从大到小排序输出 各位小伙伴们,我刚刚为大家分享了有关排序输出_排序的知识,希望对你们有所帮助。如果您还有其他相关问题需要解决,欢迎随时提出哦!
本文来源于互联网,如若侵权,请联系管理员删除,本文链接:https://www.9969.net/88496.html