python数据排序

1、简介

排序是对数据处理过程中常用的技术,许多编程语言中都封装了排序方法,一些工具包中也提供了相应的排序函数,最近在利用python进行数据处理时多次需要用到排序算法,在此记录一下使用的排序方法。

2、内置函数 sorted()

内置函数 sorted(): sorted() 函数可以对列表、元组、字典等可迭代对象进行排序,并返回一个新的已排序的列表。例如:

numbers = [5, 2, 8, 1, 9]
sorted_numbers = sorted(numbers)
print(sorted_numbers) 

# 输出: [1, 2, 5, 8, 9]

3、列表的 sort() 方法

列表的 sort() 方法: 列表对象有一个 sort() 方法,可以原地对列表进行排序,即在原列表上进行修改,而不返回新的列表。例如:

numbers = [5, 2, 8, 1, 9]
numbers.sort()
print(numbers)  

# 输出: [1, 2, 5, 8, 9]

4、自定义排序函数

自定义排序函数: 如果要对复杂的数据结构进行排序,可以使用自定义排序函数,通过指定排序的规则来进行排序。自定义排序函数需要接受一个参数并返回一个用于比较的关键字。例如,对一组字符串按照字符串长度进行排序:

words = ["apple", "banana", "cherry", "date"]
sorted_words = sorted(words, key=lambda x: len(x))
print(sorted_words)  

# 输出: ['date', 'apple', 'banana', 'cherry']

5、对象属性排序

对象属性排序: 如果要对自定义对象进行排序,可以使用 key 参数来指定按照对象的某个属性进行排序。例如,对一组学生对象按照年龄进行排序:

class Student:
  def __init__(self, name, age):
      self.name = name
      self.age = age

students = [
  Student("Alice", 20),
  Student("Bob", 18),
  Student("Charlie", 22)
]

sorted_students = sorted(students, key=lambda x: x.age)
for student in sorted_students:
  print(student.name, student.age)
   
# 输出
('Bob', 18)
('Alice', 20)
('Charlie', 22)

这些是一些常见的排序方法,可以根据具体的需求选择适合的方法进行数据排序。

声明:文中观点不代表本站立场。本文传送门:https://eyangzhen.com/57206.html

联系我们
联系我们
分享本页
返回顶部