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

Python – กรองแถวที่จัดเรียงแล้ว


เมื่อต้องการกรองแถวที่จัดเรียงแล้ว จะใช้ 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 เพื่อวนลูปตรวจสอบว่าแต่ละรายการย่อยมีลำดับเท่ากับรายการที่จัดเรียงจากน้อยไปมากหรือมากไปน้อยหรือไม่

  • หากตรงตามเงื่อนไข จะแปลงเป็นรายการและกำหนดให้ตัวแปร

  • แสดงผลลัพธ์บนคอนโซล