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