nums = [3, -1, 4, -1, -5, 9, 2, -6]
sorted_nums = sorted(nums, key=abs)
print(sorted_nums)
del nums, sorted_nums
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('Alice', 30), Person('Bob', 30), Person('Charlie', 25), Person('Alice', 20)]
people.sort(key=lambda person: person.age)
for person in people:
print(person.name, person.age)
del Person, people
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('Alice', 20), Person('Bob', 30), Person('Charlie', 25), Person('David', 25), Person('Alice', 25)]
people.sort(key=lambda person: (person.age, person.name))
for person in people:
print(person.name, person.age)
del Person, people
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('Alice', 20), Person('Bob', 30), Person('Charlie', 25), Person('Alice', 25)]
people.sort(key=lambda person: (person.name, -person.age))
for person in people:
print(person.name, person.age)
del Person, people
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
people = [Person('Alice', 20), Person('Bob', 30), Person('Charlie', 25), Person('David', 25), Person('Alice', 25)]
people.sort(key=lambda person: person.age)
people.sort(key=lambda person: person.name, reverse=True)
for person in people:
print(person.name, person.age)
del Person, people
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __lt__(self, other):
if self.age != other.age:
return self.age < other.age
return self.name > other.name
people = [Person('Alice', 20), Person('Bob', 30), Person('Charlie', 25), Person('David', 25), Person('Alice', 25)]
people.sort()
for person in people:
print(person.name, person.age)
del Person, people