เมื่อต้องการดึง tuple ที่มีสมาชิกเรียงลำดับจากน้อยไปมาก (ordered tuples) สามารถใช้ list comprehension, sorted(), tuple() และตัวดำเนินการ == ได้
ตัวอย่าง
my_list = [(15, 74, 36, 22, 54), (13, 24, 56), (59, 60, 34), (42, 65, 56), (99, 91)]
print("The list is :")
print(my_list)
my_result = [element for element in my_list if tuple(sorted(element)) == element]
print("The result is :")
print(my_result)
ผลลัพธ์
The list is : [(15, 74, 36, 22, 54), (13, 24, 56), (59, 60, 34), (42, 65, 56), (99, 91)] The result is : [(13, 24, 56)]
คำอธิบาย
กำหนดลิสต์ของ tuple และแสดงผล
ใช้ list comprehension วนลูปผ่านแต่ละ tuple เรียงลำดับสมาชิกด้วย
sorted()แปลงกลับเป็น tuple แล้วเปรียบเทียบกับ tuple เดิมถ้าเท่ากัน แสดงว่าสมาชิกเรียงลำดับจากน้อยไปมากอยู่แล้ว จึงเก็บไว้ในผลลัพธ์
แสดงผลลัพธ์ที่ได้