number = [3, 4, 1, 2, 5]
number.sort()
print(number)
number.sort(reverse=True)
print(number)
words = ['abc', 'Df', 'mnop', 'Pyzxe']
words.sort(key=str.lower)
print(words)
words.sort(key=len)
print(words)
marks1 = ['B001', 'C003', 'D005', 'B002', 'C004']
marks1.sort()
print(marks1)
marks2 = ['b1', 'c3', 'b12', 'b2', 'c11']
marks2.sort()
print(marks2)
def custom_sort(item):
letter_part = ''.join(filter(str.isalpha, item))
number_part = ''.join(filter(str.isdigit, item))
return letter_part, int(number_part)
sorted_marks2 = sorted(marks2, key=custom_sort)
print(sorted_marks2)
class Point:
def __init__(self, X, Y, Z):
self.X = X
self.Y = Y
self.Z = Z
def __repr__(self):
return f"Point({self.X},{self.Y},{self.Z})"
p1 = Point(1, 2, 3)
p2 = Point(3, 1, 4)
p3 = Point(2, 3, 2)
p4 = Point(2, 1, 5)
p5 = Point(3, 1, 2)
points = [p1, p2, p3, p4, p5]
sorted_points = sorted(points, key=lambda point: (point.X, -point.Y, point.Z))
print(sorted_points)