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

Python – เรียงลำดับ Tuple ตามจำนวนหลักตัวเลขทั้งหมด

เมื่อต้องการเรียงลำดับลิสต์ของ tuple ตามจำนวนหลักตัวเลขทั้งหมดในแต่ละ tuple สามารถใช้ฟังก์ชันช่วยที่แปลงเป็นสตริงและนับความยาวได้

ตัวอย่าง

def count_tuple_digits(row):
    return sum([len(str(element)) for element in row])

my_tuple = [(32, 14, 65, 723), (13, 26), (12345,), (137, 234, 314)]
print("The tuple is :")
print(my_tuple)
my_tuple.sort(key=count_tuple_digits)
print("The result is :")
print(my_tuple)

ผลลัพธ์

The tuple is : [(32, 14, 65, 723), (13, 26), (12345,), (137, 234, 314)]
The result is : [(13, 26), (12345,), (32, 14, 65, 723), (137, 234, 314)]

คำอธิบาย

  • กำหนดฟังก์ชัน count_tuple_digits แปลงแต่ละสมาชิกใน tuple เป็นสตริง นับความยาว รวมกันด้วย sum()

  • กำหนดลิสต์ของ tuple และแสดงผล

  • ใช้ sort(key=count_tuple_digits) เรียงตามจำนวนหลักทั้งหมดจากน้อยไปมาก

  • จำนวนหลัก: (13,26)=4, (12345,)=5, (32,14,65,723)=7, (137,234,314)=9