Python - เรียงรายการ
รายการเรียงตามตัวอักษร
รายการวัตถุมี
sort()
วิธีการที่จะเรียงลำดับรายการตามตัวอักษร จากน้อยไปมาก ตามค่าเริ่มต้น:
ตัวอย่าง
เรียงลำดับรายการตามตัวอักษร:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort()
print(thislist)
ตัวอย่าง
เรียงลำดับรายการเป็นตัวเลข:
thislist = [100, 50, 65, 82, 23]
thislist.sort()
print(thislist)
เรียงลำดับจากมากไปน้อย
หากต้องการเรียงลำดับจากมากไปน้อย ให้ใช้อาร์กิวเมนต์ของคีย์เวิร์ดreverse = True
:
ตัวอย่าง
เรียงลำดับรายการจากมากไปน้อย:
thislist = ["orange", "mango", "kiwi",
"pineapple", "banana"]
thislist.sort(reverse = True)
print(thislist)
ตัวอย่าง
เรียงลำดับรายการจากมากไปน้อย:
thislist = [100, 50, 65, 82, 23]
thislist.sort(reverse = True)
print(thislist)
ปรับแต่งฟังก์ชันการจัดเรียง
คุณยังสามารถกำหนดฟังก์ชันของคุณเองได้โดยใช้อาร์กิวเมนต์ของคำหลักkey =
function
ฟังก์ชันจะส่งกลับตัวเลขที่จะใช้ในการเรียงลำดับรายการ (ตัวเลขต่ำสุดก่อน):
ตัวอย่าง
เรียงลำดับรายการโดยพิจารณาจากจำนวนที่ใกล้เคียงกับ 50:
def myfunc(n):
return abs(n - 50)
thislist = [100, 50, 65, 82, 23]
thislist.sort(key =
myfunc)
print(thislist)
ตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
โดยค่าเริ่มต้นsort()
วิธีการจะคำนึงถึงขนาดตัวพิมพ์ ส่งผลให้ตัวพิมพ์ใหญ่ทั้งหมดถูกจัดเรียงก่อนตัวพิมพ์เล็ก:
ตัวอย่าง
การเรียงลำดับที่คำนึงถึงขนาดตัวพิมพ์สามารถให้ผลลัพธ์ที่ไม่คาดคิดได้:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort()
print(thislist)
โชคดีที่เราสามารถใช้ฟังก์ชันในตัวเป็นฟังก์ชันหลักในการจัดเรียงรายการได้
ดังนั้น หากคุณต้องการฟังก์ชันการจัดเรียงที่ไม่คำนึงถึงขนาดตัวพิมพ์ ให้ใช้ str.lower เป็นฟังก์ชันคีย์:
ตัวอย่าง
ดำเนินการเรียงลำดับที่ไม่คำนึงถึงขนาดตัวพิมพ์ของรายการ:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.sort(key
= str.lower)
print(thislist)
คำสั่งย้อนกลับ
จะทำอย่างไรถ้าคุณต้องการกลับลำดับของรายการโดยไม่คำนึงถึงตัวอักษร?
วิธี การreverse()
นี้จะกลับลำดับการจัดเรียงปัจจุบันขององค์ประกอบ
ตัวอย่าง
ย้อนกลับลำดับของรายการ:
thislist = ["banana", "Orange", "Kiwi", "cherry"]
thislist.reverse()
print(thislist)