Đây là một bản hack tuyệt đối giúp giải quyết vấn đề theo cách xấu nhưng thông minh: Các hàm minvà maxhàm của Python có thể được sử dụng với một keyhàm được sử dụng để so sánh các phần tử, để nó trả về phần tử tối thiểu hóa hoặc tối đa hóa phần tử đó. Nếu keyhàm trả về một tuple, thì thứ tự được xác định bởi thành phần đầu tiên của tuple, sử dụng thành phần thứ hai làm bộ ngắt kết nối.
Chúng ta có thể khai thác thực tế là các ký tự cuối cùng 'd', 'h'và 'm'có thể được so sánh theo thứ tự bảng chữ cái; a d ay dài hơn h h chúng ta dài hơn m m . Điều này có nghĩa là thời lượng dài nhất có ký tự tối thiểu theo thứ tự bảng chữ cái, với số nguyên tối đa là một bộ ngắt kết nối. Tối đa hóa số nguyên đó cũng giống như giảm thiểu phủ định của nó:
>>> durations = ['5d', '20h', '1h', '7m', '14d', '1m']
>>> min(durations, key=lambda d: (d[-1], -int(d[:-1])))
'14d'