Devdit
 

Python เรียงวันที่แบบ ASC และ DESC

1.2K

บทความนี้สอนเขียน Python เรียงลำดับข้อมูลวันที่ ที่เก็บใน List โดยสอนเขียน 2 แบบคือ เรียงวันที่จากน้อยไปมาก หรือ ASC และเรียงวันที่จากมากไปน้อย หรือ DESC โดยใช้คำสั่ง sort พร้อมแสดงผลลัพธ์ออกสู่หน้าจอ สามารถเขียนโปรแกรมได้ดังนี้

 

ตัวอย่าง Python เรียงวันที่น้อยไปมาก (ASC)

from datetime import datetime

dates = ["2023-02-15", "2021-01-25", "2022-01-13"]
dates.sort(key=lambda date: datetime.strptime(date, "%Y-%m-%d"))

print(dates)

ผลลัพธ์

['2021-01-25', '2022-01-13', '2023-02-15']

จากตัวอย่าง import datetime จากนั้นเก็บวันที่ไว้ในตัวแปร List ชื่อ dates การเรียงลำดับจะใช้คำสั่ง sort พร้อมกับแปลงวันที่ให้เป็น datetime object เพื่อให้สามารถเปรียบค่าวันที่ได้ด้วยคำสั่ง strptime กรณีเรียงวันที่จากน้อบไปมาก ไม่ต้องกำหนดค่า reverse

 

ตัวอย่าง Python เรียงวันที่มากไปน้อย (DESC)

from datetime import datetime

dates = ["2023-02-15", "2021-01-25", "2022-01-13"]
dates.sort(key=lambda date: datetime.strptime(date, "%Y-%m-%d"), reverse=True)

print(dates)

ผลลัพธ์

['2023-02-15', '2022-01-13', '2021-01-25']

สำหรับการเรียงจากมากไปน้อย (DESC) ส่วนของโค้ดจะมีการเพิ่ม reverse=True ให้กับคำสั่ง sort เพื่อบอกว่าเป็นการเรียงจากมากไปน้อย

สรุป ในภาษา Python จะใช้คำสั่ง sort ร่วมกับ datetime.strptime เพื่อเรียงลำดับข้อมูลวันที่ ที่เก็บใน List กรณีถ้าเป็นการเรียงวันที่จากมากไปน้อยต้องกำหนด reverse=True แต่ถ้าเป็นการเรียงจากน้อยไปมากไม่ต้องกำหนดค่า reverse

แก้ไข 1 ปีที่แล้ว
ชอบ
ลิ้งก์
แชร์
Devdit มีช่อง YouTube แล้ว
เราสร้างวิดีโอเกี่ยวกับเทคโนโลยี ทำตามง่ายๆ