如何实现高效的排序输出?

Python中的排序输出方法

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

如何实现高效的排序输出?插图1

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() 方法,可以对列表进行原地排序,不返回新的列表。

如何实现高效的排序输出?插图3

简单排序

     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、对嵌套数据结构进行排序

如何实现高效的排序输出?插图5

对包含字典的列表进行排序

     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

小末小末
上一篇 2024年11月1日 22:50
下一篇 2024年11月1日 23:11

相关推荐