Python เป็นภาษาโปรแกรมทั่วไปที่ใช้กันอย่างแพร่หลาย เหตุผลหลักสำหรับความนิยมของ Python คือไวยากรณ์ที่เรียบง่าย โมดูลในตัว และฟังก์ชันที่ช่วยให้คุณทำงานที่มีประสิทธิภาพได้ ฟังก์ชัน sort() เป็นฟังก์ชันในตัวใน Python ที่จัดเรียงองค์ประกอบในรายการ เรียงลำดับจากน้อยไปมากตามค่าเริ่มต้น คุณยังสามารถใช้ฟังก์ชัน sort() เพื่อเรียงลำดับองค์ประกอบจากมากไปหาน้อยหรือกำหนดเกณฑ์การเรียงลำดับ ในบทความนี้ เราจะอธิบายฟังก์ชัน sort() โดยละเอียดพร้อมตัวอย่างง่ายๆ
ไวยากรณ์ของฟังก์ชัน sort()
ไวยากรณ์ของฟังก์ชัน sort() มีดังนี้:
list_obj.เรียงลำดับ(ย้อนกลับ= ,กุญแจ= )
พารามิเตอร์ทั้งสองภายในฟังก์ชัน sort() เป็นทางเลือก พารามิเตอร์ย้อนกลับใช้เพื่อเรียงลำดับรายการจากมากไปหาน้อย ถ้า reverse=true รายการจะถูกจัดเรียงจากมากไปหาน้อย มิฉะนั้น reverse=false โดยค่าเริ่มต้น พารามิเตอร์คีย์ระบุฟังก์ชันที่กำหนดเกณฑ์การเรียงลำดับ ฟังก์ชัน sort() จะไม่เปลี่ยนลำดับขององค์ประกอบในออบเจกต์รายการดั้งเดิม ค่อนข้างจะสร้างสำเนาของรายการวัตถุที่มีองค์ประกอบที่เรียงลำดับแล้วส่งกลับเป็นผลลัพธ์
ตัวอย่างฟังก์ชัน sort()
ตัวอย่างต่อไปนี้ครอบคลุมการใช้งานฟังก์ชัน sort() โดยละเอียดยิ่งขึ้น
ตัวอย่างที่ 1: การเรียงลำดับรายการสตริง
ฟังก์ชัน sort() จะเรียงลำดับรายการสตริง จำนวนเต็ม และเลขทศนิยม ในตัวอย่างแรกนี้ เราจะเรียงลำดับรายการสตริงต่อไปนี้โดยเรียงลำดับจากน้อยไปมากโดยใช้ฟังก์ชัน sort()
#ประกาศรายชื่อนักเรียน
นักเรียน= ['เครื่องหมาย','จอห์น','เทย์เลอร์','โดนัลด์','โจเซฟ','อัลเบิร์ต','คาเมรอน']
พิมพ์('รายการเดิมคือ:')
พิมพ์(นักเรียน)
#เรียงลำดับรายการ
#using ฟังก์ชัน sort()
นักเรียน.เรียงลำดับ()
พิมพ์('รายการที่เรียงลำดับคือ:')
พิมพ์(นักเรียน)
เอาท์พุต
อย่างที่คุณเห็น รายการได้รับการจัดเรียงเรียบร้อยแล้ว
ต่อไป เราจะเรียงลำดับรายการองค์ประกอบสตริงจากมากไปหาน้อย ในกรณีนี้ ค่าย้อนกลับจะเท่ากับค่าจริง
#ประกาศรายชื่อนักเรียนนักเรียน= ['เครื่องหมาย','จอห์น','เทย์เลอร์','โดนัลด์','โจเซฟ','อัลเบิร์ต','คาเมรอน']
พิมพ์('รายการเดิมคือ:')
พิมพ์(นักเรียน)
#เรียงลำดับรายการ
#using ฟังก์ชัน sort() พร้อมพารามิเตอร์ย้อนกลับ
นักเรียน.เรียงลำดับ(ย้อนกลับ=จริง)
พิมพ์('รายการที่เรียงลำดับคือ:')
พิมพ์(นักเรียน)
เอาท์พุต
ในตัวอย่างนี้ เราจะจัดเรียงรายการตัวอักษรสระจากน้อยไปหามากและจากมากไปน้อยตามลำดับ
#ประกาศรายชื่อนักเรียนรายการของฉัน= ['ผม','ยู','ถึง','หรือ','และ']
พิมพ์('รายการเดิมคือ:')
พิมพ์(รายการของฉัน)
#เรียงลำดับรายการจากน้อยไปมาก
#using ฟังก์ชัน sort()
รายการของฉัน.เรียงลำดับ()
พิมพ์('รายการที่เรียงลำดับจากน้อยไปมาก: ')
พิมพ์(รายการของฉัน)
#เรียงลำดับรายการจากมากไปน้อย
รายการของฉัน.เรียงลำดับ(ย้อนกลับ=จริง)
พิมพ์('รายการที่เรียงลำดับจากมากไปหาน้อย:')
พิมพ์(รายการของฉัน)
เอาท์พุต
ตอนนี้ เราจะจัดเรียงรายการตามความยาวของแต่ละองค์ประกอบ ฟังก์ชั่น funclen() ตรวจสอบรายการของแต่ละรายการและส่งกลับ ฟังก์ชัน sort() จะจัดเรียงองค์ประกอบในรายการตามความยาวของแต่ละองค์ประกอบ โดยองค์ประกอบที่มีความยาวสั้นที่สุดมาก่อนในรายการที่จัดเรียง
#ประกาศฟังก์ชั่นdeffuncLen(เขา):
กลับ เลน(เขา)
#ประกาศรายชื่อสัตว์
รายการของฉัน= ['แพะ','แมว','ช้าง','จระเข้','กระต่าย','แรด']
พิมพ์('รายการเดิมคือ:')
พิมพ์(รายการของฉัน)
#การเรียงลำดับรายการโดยใช้ฟังก์ชัน funcLen
รายการของฉัน.เรียงลำดับ(กุญแจ=funcLen)
พิมพ์('รายการที่เรียงลำดับคือ:')
พิมพ์(รายการของฉัน)
เอาท์พุต
ในการจัดเรียงองค์ประกอบเพื่อให้รายการที่มีความยาวสูงกว่ามาก่อน ค่าพารามิเตอร์ย้อนกลับจะต้องเป็นจริง
#ประกาศฟังก์ชั่นdeffuncLen(เขา):
กลับ เลน(เขา)
#ประกาศรายชื่อสัตว์
รายการของฉัน= ['แพะ','แมว','ช้าง','จระเข้','กระต่าย','แรด']
พิมพ์('รายการเดิมคือ:')
พิมพ์(รายการของฉัน)
#การเรียงลำดับรายการโดยใช้ฟังก์ชัน funcLen
รายการของฉัน.เรียงลำดับ(ย้อนกลับ=จริง,กุญแจ=funcLen)
พิมพ์('รายการที่เรียงลำดับคือ:')
พิมพ์(รายการของฉัน)
เอาท์พุต
ตัวอย่างที่ 2: การเรียงลำดับรายการจำนวนเต็ม
ฟังก์ชัน sort() ยังสามารถเรียงลำดับรายการของจำนวนเต็มในลำดับจากน้อยไปมากหรือจากมากไปน้อย
ในตัวอย่างต่อไปนี้ เราจะประกาศรายการจำนวนเต็มและจัดเรียงตามลำดับจากน้อยไปมากและจากมากไปน้อย
#ประกาศรายชื่อจำนวนเต็มnumList= [10,9,2,3,1,4,5,8,7]
#พิมพ์รายชื่อเดิม
พิมพ์('รายการเดิมคือ:')
พิมพ์(numList)
#เรียงลำดับรายการจากน้อยไปมาก
numList.เรียงลำดับ()
#พิมพ์เรียงลำดับจากน้อยไปมาก
พิมพ์('รายการที่เรียงลำดับจากน้อยไปมาก: ')
พิมพ์(numList)
#เรียงลำดับรายการจากน้อยไปมาก
numList.เรียงลำดับ(ย้อนกลับ=จริง)
#พิมพ์เรียงจากมากไปหาน้อย
พิมพ์('รายการที่เรียงลำดับจากมากไปหาน้อย:')
พิมพ์(numList)
เอาท์พุต
รายการหมายเลขจำนวนเต็มได้รับการเรียงลำดับจากน้อยไปมากและมากไปหาน้อย
ตัวอย่างที่ 3: การเรียงลำดับรายการตัวเลขทศนิยม
ฟังก์ชัน sort() ยังใช้ได้กับรายการตัวเลขทศนิยม
ในตัวอย่างต่อไปนี้ เราจะจัดเรียงรายการตัวเลขทศนิยมทั้งจากน้อยไปหามากและจากมากไปน้อย
#ประกาศรายชื่อจำนวนเต็มnumList= [1.5,1.2,4.5,10.6,11.5,3.3,3.83,3.85]
#พิมพ์รายชื่อเดิม
พิมพ์('รายการเดิมคือ:')
พิมพ์(numList)
#เรียงลำดับรายการจากน้อยไปมาก
numList.เรียงลำดับ()
#พิมพ์เรียงลำดับจากน้อยไปมาก
พิมพ์('รายการที่เรียงลำดับจากน้อยไปมาก: ')
พิมพ์(numList)
#เรียงลำดับรายการจากน้อยไปมาก
numList.เรียงลำดับ(ย้อนกลับ=จริง)
#พิมพ์เรียงจากมากไปหาน้อย
พิมพ์('รายการที่เรียงลำดับจากมากไปหาน้อย:')
พิมพ์(numList)
เอาท์พุต
ขณะนี้รายการหมายเลขทศนิยมได้รับการเรียงลำดับจากน้อยไปมากและจากมากไปน้อย
ตัวอย่างที่ 4: การเรียงลำดับรายการพจนานุกรมรายการ
พจนานุกรมสามารถวางไว้ในรายการเป็นองค์ประกอบได้
ในตัวอย่างต่อไปนี้ เราจะจัดเรียงองค์ประกอบพจนานุกรมในรายการในขณะที่สร้างพจนานุกรมของนักเรียน เราจะจัดเรียงองค์ประกอบตามค่าอายุ
# ฟังก์ชันที่คืนค่า 'ปี':defageFunc(เขา):
กลับเขา['อายุ']
#ประกาศรายชื่อพจนานุกรมนักเรียน
นักเรียน= [
{'ชื่อ':'เครื่องหมาย', 'อีเมล':' [ป้องกันอีเมล] ' ,'อายุ':28},
{'ชื่อ':'จอห์น', 'อีเมล':' [ป้องกันอีเมล] ' ,'อายุ':2. 3},
{'ชื่อ':'อัลเบิร์ต', 'อีเมล':' [ป้องกันอีเมล] ' ,'อายุ':ยี่สิบเอ็ด},
{'ชื่อ':'คาเมรอน', 'อีเมล':' [ป้องกันอีเมล] ' ,'อายุ':27},
{'ชื่อ':'เทย์เลอร์', 'อีเมล':' [ป้องกันอีเมล] ' ,'อายุ':25}
]
#เรียงลำดับรายการ
นักเรียน.เรียงลำดับ(กุญแจ=ageFunc)
#พิมพ์เรียงรายการ
พิมพ์(นักเรียน)
เอาท์พุต
บทสรุป
ฟังก์ชัน sort() เป็นฟังก์ชันในตัวใน Python ที่จัดเรียงรายการองค์ประกอบ ฟังก์ชัน sort() สามารถใช้พารามิเตอร์ทางเลือกได้ 2 ตัว คือ reverse และ key บทความนี้อธิบายวิธีใช้ฟังก์ชัน Python sort() โดยละเอียดพร้อมตัวอย่างต่างๆ