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