Дан список объектов класса Point
.
Класс Point
выглядит следующим образом:
class Point:
def __init__(self, value, segment, is_start=False):
self.value = value
self.is_start = is_start
Цель состоит в том, чтобы отсортировать список по атрибуту value
при условии, что, если два объекта имеют одинаковые атрибуты value
, объект, значение которого is_start
равно True, должен идти перед объектом, значение is_start
которого равно False .
Пример ввода:
[Point(3, False), Point(3, True), Point(1, True),]
Я пытался использовать array.sort(key=lambda x: x.value)
и вывод был:
[Point(1, True), Point(3, False), Point(3, True),]
Но оно не удовлетворяет условию, указанному ранее (Point(3, True)
должно быть до Point(3, False)
).
Пример желаемого вывода:
[Point(1, True), Point(3, True), Point(3, False),]
Какую функцию использовать для удовлетворения заявленного условия?