vector根据对象属性排序
时间: 2023-09-29 15:11:20 浏览: 108
要根据对象属性排序,您可以使用sort()函数并指定一个比较函数。比较函数将使用对象属性来比较元素。以下是一个示例:
```python
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __repr__(self):
return f'{self.name} ({self.age})'
people = [
Person('Alice', 25),
Person('Bob', 20),
Person('Charlie', 30),
]
def compare_by_age(person):
return person.age
people.sort(key=compare_by_age)
print(people)
# Output: [Bob (20), Alice (25), Charlie (30)]
```
在这个例子中,我们定义了一个Person类,它有两个属性:name和age。我们创建了一个people列表,其中包含三个Person对象。我们还定义了一个compare_by_age()函数,该函数接受一个Person对象并返回其age属性。我们使用该函数作为sort()函数的key参数,以便按age属性排序people列表。最后,我们打印出排序后的人员列表。
请注意,我们使用__repr__()方法来自定义打印对象时的输出。这不是必需的,但它使输出更容易阅读。
阅读全文