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

Python – เรียง Tuples ตามตัวเลขทั้งหมด


เมื่อจำเป็นต้องเรียงลำดับทูเพิลตามจำนวนหลักทั้งหมด จะมีการกำหนดเมธอดที่แปลงทุกองค์ประกอบในรายการเป็นสตริง และรับความยาวของแต่ละสตริงเหล่านี้ และเพิ่มเข้าด้วยกัน แสดงผลตามวิธีการ

ด้านล่างนี้เป็นการสาธิตสิ่งเดียวกัน -

ตัวอย่าง

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' ซึ่งส่งคืนเป็นเอาต์พุต

  • รายการทูเพิลถูกกำหนดและแสดงบนคอนโซล

  • ทูเพิลถูกจัดเรียงโดยระบุคีย์เป็นเมธอด

  • นี่คือเอาต์พุตที่แสดงบนคอนโซล