以下是一个示例代码,演示了如何按照布尔值对对象列表进行排序:
class Person:
def __init__(self, name, is_active):
self.name = name
self.is_active = is_active
def __repr__(self):
return self.name
people = [
Person("Alice", True),
Person("Bob", False),
Person("Charlie", True),
Person("David", False)
]
# 使用 lambda 表达式来定义排序规则,按照 is_active 字段进行排序
sorted_people = sorted(people, key=lambda x: x.is_active)
print(sorted_people)
输出结果为:
[Bob, David, Alice, Charlie]
在这个示例中,我们定义了一个 Person 类,它有一个 is_active 属性表示人员是否活跃。然后我们创建了一个对象列表 people,包含了四个 Person 对象。
使用 sorted 函数,并传入一个 lambda 表达式作为 key 参数,我们可以指定排序规则。在这个 lambda 表达式中,我们使用 x.is_active 来获取 Person 对象的 is_active 属性,并将其作为排序的依据。
最后,我们打印排序后的列表 sorted_people,结果就是按照 is_active 字段进行排序后的对象列表。
下一篇:按布尔值计算不同的值的数量