เมื่อต้องการกรองแถวที่จัดเรียงแล้ว จะใช้ List Comprehension ร่วมกับเมธอด sorted() และ list()
ตัวอย่าง
my_list = [[99, 6, 75, 10], [1, 75, 2, 4, 99], [75, 15, 99, 2], [1, 4, 15, 99]]
print("The list is :")
print(my_list)
my_result = [sub for sub in my_list if sub == list(sorted(sub)) or sub == list(sorted(sub, reverse=True))]
print("The resultant list is :")
print(my_result)
ผลลัพธ์
The list is : [[99, 6, 75, 10], [1, 75, 2, 4, 99], [75, 15, 99, 2], [1, 4, 15, 99]] The resultant list is : [[1, 4, 15, 99]]
คำอธิบาย
กำหนดรายการของรายการ (list of lists) และแสดงผลบนคอนโซล
ใช้ List Comprehension เพื่อวนลูปตรวจสอบว่าแต่ละรายการย่อยมีลำดับเท่ากับรายการที่จัดเรียงจากน้อยไปมากหรือมากไปน้อยหรือไม่
หากตรงตามเงื่อนไข จะแปลงเป็นรายการและกำหนดให้ตัวแปร
แสดงผลลัพธ์บนคอนโซล