📅  最后修改于: 2023-12-03 15:24:47.401000             🧑  作者: Mango
在开发中,我们经常需要对列表进行排序。在某些情况下,需要按照列表中的某个子类对列表进行排序。本文将介绍如何使用Python中的built-in函数sorted()
实现子类排序。
首先,我们需要准备一些数据以进行操作。下面的代码为我们创建一个简单的Person
类,然后创建一个students
列表来存储一些学生的信息。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
students = [
Person('Alice', 18),
Person('Bob', 20),
Person('Charlie', 19),
Person('David', 18)
]
接下来,我们需要编写一个排序函数来实现子类排序。下面的代码展示了如何按照年龄对Person对象进行排序。
def sort_by_age(item):
return item.age
我们根据item
对象的年龄属性进行排序。请记住,排序函数需要返回一个比较函数。
我们可以使用Python的built-in函数sorted()
来对列表进行排序。下面的代码展示了如何按年龄对学生列表进行排序。
sorted_students = sorted(students, key=sort_by_age)
这将按照sort_by_age
函数定义的规则对学生进行排序。现在,我们可以根据学生的年龄对他们进行排序。
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def sort_by_age(item):
return item.age
students = [
Person('Alice', 18),
Person('Bob', 20),
Person('Charlie', 19),
Person('David', 18)
]
sorted_students = sorted(students, key=sort_by_age)
在本文中,我们介绍了如何使用Python的built-in函数sorted()
实现子类排序。首先,我们准备了数据,然后编写了一个排序函数(使用item
对象的属性进行排序),最后使用sorted()
函数实现子类排序。当您需要按子类对列表进行排序时,可以考虑使用这种方法。