Python Sort Function

Python Sort Function



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() โดยละเอียดพร้อมตัวอย่างต่างๆ