เมื่อต้องการเรียงลำดับลิสต์ตัวเลขตามหลักตัวเลขสูงสุด (maximum digit) ในแต่ละตัวเลข สามารถใช้ฟังก์ชันช่วยที่มี str() และ max() ได้
ตัวอย่าง
def max_digits(element):
return max(str(element))
my_list = [224, 192, 145, 18, 3721]
print("The list is :")
print(my_list)
my_list.sort(key=max_digits)
print("The result is :")
print(my_list)
ผลลัพธ์
The list is : [224, 192, 145, 18, 3721] The result is : [224, 145, 3721, 18, 192]
คำอธิบาย
กำหนดฟังก์ชัน
max_digitsแปลงตัวเลขเป็นสตริง ใช้max()หาตัวอักษรที่มากที่สุด (ซึ่งคือหลักสูงสุด) คืนค่าเป็นสตริงกำหนดลิสต์ตัวเลขและแสดงผล
ใช้
sort(key=max_digits)เรียงตามหลักสูงสุด (เปรียบเทียบแบบสตริง: '4'<'5'<'7'<'8'<'9')แสดงผลลัพธ์: 224(max=4), 145(max=5), 3721(max=7), 18(max=8), 192(max=9)