class Product:
def __init__(self, name, price):
self.name = name
self.price = price
def __repr__(self):
return f"Product(name='{self.name}', price={self.price})"
def __lt__(self, other):
# Define comparison based on price
return self.price < other.price
products = [
Product("Laptop", 1200),
Product("Mouse", 25),
Product("Keyboard", 75),
Product("Monitor", 300)
]
# Sort directly using the defined __lt__ method
sorted_products = sorted(products)
print(f"Sorted products: {sorted_products}")
Y2xhc3MgUHJvZHVjdDoKICAgIGRlZiBfX2luaXRfXyhzZWxmLCBuYW1lLCBwcmljZSk6CiAgICAgICAgc2VsZi5uYW1lID0gbmFtZQogICAgICAgIHNlbGYucHJpY2UgPSBwcmljZQoKICAgIGRlZiBfX3JlcHJfXyhzZWxmKToKICAgICAgICByZXR1cm4gZiJQcm9kdWN0KG5hbWU9J3tzZWxmLm5hbWV9JywgcHJpY2U9e3NlbGYucHJpY2V9KSIKCiAgICBkZWYgX19sdF9fKHNlbGYsIG90aGVyKToKICAgICAgICAjIERlZmluZSBjb21wYXJpc29uIGJhc2VkIG9uIHByaWNlCiAgICAgICAgcmV0dXJuIHNlbGYucHJpY2UgPCBvdGhlci5wcmljZQoKcHJvZHVjdHMgPSBbCiAgICBQcm9kdWN0KCJMYXB0b3AiLCAxMjAwKSwKICAgIFByb2R1Y3QoIk1vdXNlIiwgMjUpLAogICAgUHJvZHVjdCgiS2V5Ym9hcmQiLCA3NSksCiAgICBQcm9kdWN0KCJNb25pdG9yIiwgMzAwKQpdCgojIFNvcnQgZGlyZWN0bHkgdXNpbmcgdGhlIGRlZmluZWQgX19sdF9fIG1ldGhvZApzb3J0ZWRfcHJvZHVjdHMgPSBzb3J0ZWQocHJvZHVjdHMpCnByaW50KGYiU29ydGVkIHByb2R1Y3RzOiB7c29ydGVkX3Byb2R1Y3RzfSIp
Sorted products: [Product(name='Mouse', price=25), Product(name='Keyboard', price=75), Product(name='Monitor', price=300), Product(name='Laptop', price=1200)]