Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python – เรียงลำดับตามหลักตัวเลขสูงสุดในสมาชิก

เมื่อต้องการเรียงลำดับลิสต์ตัวเลขตามหลักตัวเลขสูงสุด (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)