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

เมธอด sort() ใน Python

ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับเมธอด sort() ของ list มาดูรายละเอียด เมธอด sort ใช้เรียง list ใดๆ แบบ ascending หรือ descending มีหลายกรณีของ sort() พร้อมหรือไม่พร้อม พารามิเตอร์ตัวเลือก

เมธอด sort เป็นเมธอด in-place เปลี่ยนแปลง list ต้นฉบับโดยตรง

ลองดูทีละอย่าง

sort() แบบค่าเริ่มต้น

เมธอด sort โดยไม่มีพารามิเตอร์ตัวเลือก จะเรียง list แบบ ascending ลองดูตัวอย่าง

ตัวอย่าง

# เริ่มต้น list
numbers = [4, 3, 5, 1, 2]
# เรียงตัวเลข
numbers.sort()
# พิมพ์ numbers
print(numbers)

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้

[1, 2, 3, 4, 5]

พารามิเตอร์ reverse กับ sort()

เราสามารถเรียงแบบ descending ด้วยพารามิเตอร์ reverse ส่ง reverse=True เพื่อเรียง descending

ตัวอย่าง

# เริ่มต้น list
numbers = [4, 3, 5, 1, 2]
# เรียง descending
numbers.sort(reverse=True)
# พิมพ์ numbers
print(numbers)

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้

[5, 4, 3, 2, 1]

พารามิเตอร์ key กับ sort()

เมธอด sort รับพารามิเตอร์ตัวเลือก key ใช้บอก sort ว่าจะเรียงตามค่าไหน

เช่น มี list of dictionaries ต้องการเรียงตามค่าเฉพาะ ส่ง key เป็นฟังก์ชันที่คืนค่าที่ต้องการเรียง

ตัวอย่าง

# เริ่มต้น list
numbers = [{'a': 5}, {'b': 1, 'a': 1}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'e': 2, 'a': 2}]
# เรียง list of dict ตามค่า 'a'
numbers.sort(key=lambda dictionary: dictionary['a'])
# พิมพ์ numbers
print(numbers)

ผลลัพธ์

การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้

[{'b': 1, 'a': 1}, {'e': 2, 'a': 2}, {'c': 3, 'a': 3}, {'d': 4, 'a': 4}, {'a': 5}]

สรุป

sort() เรียง in-place เปลี่ยน list ต้นฉบับ ใช้ key และ reverse ควบคุมการเรียง หากมีข้อสงสัย กรุณาแจ้งในส่วนความคิดเห็น