วิธี Python sort() จะเรียงลำดับรายการจากน้อยไปมากตามค่าของมัน คุณสามารถเรียงลำดับรายการจากมากไปหาน้อยได้โดยใช้พารามิเตอร์ย้อนกลับ sort() เลือกยอมรับฟังก์ชันที่ให้คุณระบุการจัดเรียงแบบกำหนดเองได้
ในที่สุดผู้เข้ารหัสทุกคนต้องเผชิญกับสถานการณ์ที่พวกเขาต้องเรียงลำดับรายการหรือข้อมูล การเรียงลำดับมีความสำคัญในหลายบริบท คุณอาจต้องจัดเรียงชื่อผู้ใช้ตามลำดับตัวอักษรย้อนกลับ หรือรับรายชื่อผู้รับอีเมลตามลำดับตัวอักษร
Python มีฟังก์ชันในตัวเพื่อช่วยนักพัฒนาในการจัดเรียงรายการ:sort() . ฟังก์ชัน sort มีคุณสมบัติมากมายในการปรับแต่งการเรียงลำดับรายการ คุณจึงสามารถจัดเรียงรายการ Python ได้ดีที่สุดสำหรับโปรแกรมของคุณ
ในบทช่วยสอนนี้ เราจะพูดถึงพื้นฐานของการจัดเรียงใน Python และหารือเกี่ยวกับวิธีใช้ sort() ฟังก์ชัน
รายการเรียงหลาม
ลำดับของฟังก์ชัน sort() จะเรียงลำดับจากน้อยไปหามาก คุณสามารถใช้การเรียงลำดับแบบกำหนดเองหรือเรียงลำดับจากมากไปหาน้อยโดยการระบุพารามิเตอร์เพิ่มเติม พารามิเตอร์เหล่านี้เป็นทางเลือก
มาดูไวยากรณ์ของเมธอด sort() กัน:
sort(reverse=True, key=function)
วิธีการ sort() ของเรายอมรับสองอาร์กิวเมนต์ที่เป็นทางเลือก:
- ย้อนกลับ:การระบุค่า True จะเรียงลำดับรายการจากมากไปหาน้อย
- คีย์:ฟังก์ชันที่เรียงลำดับรายการ
Python Sort List:เรียงลำดับจากน้อยไปมาก
ด้านล่างนี้ เรากำหนดอาร์เรย์ Python อาร์เรย์นี้มีรายการตัวเลข ตัวเลขเหล่านี้ไม่ได้อยู่ในลำดับใดโดยเฉพาะ ในการจัดเรียงอาร์เรย์ของเรา เราสามารถใช้ฟังก์ชัน sort():
81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้
ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก
data = [9, 12, 8, 4, 6] data.sort() print(data)
รหัสของเราส่งคืนดังต่อไปนี้:
[4, 6, 8, 9, 12]
ในบรรทัดแรกของรหัสของเรา เราได้ประกาศรายการตัวเลขที่สุ่มเรียงลำดับ
ต่อไป เราใช้ sort() ทำงานโดยไม่มีข้อโต้แย้ง สิ่งนี้จะเรียงลำดับรายการดั้งเดิมของเราโดยเรียงตามตัวอักษรจากน้อยไปมาก จากนั้นในบรรทัดสุดท้าย รหัสของเราจะพิมพ์ข้อมูลที่จัดเรียง
sort() ฟังก์ชันจะเปลี่ยนอาร์เรย์เดิมของเรา
เรียงลำดับรายการใน Python:ลำดับจากมากไปน้อย
อาร์กิวเมนต์ย้อนกลับจะเรียงลำดับรายการจากมากไปหาน้อยเมื่อตั้งค่าเป็น True โดยค่าเริ่มต้น ย้อนกลับ ถูกตั้งค่าเป็น เท็จ ซึ่งหมายความว่ารายการสุดท้ายของเราจะเรียงลำดับจากน้อยไปมาก
ด้านล่างมีรายชื่อนักเรียน เราต้องการจัดเรียงรายการนี้ตามลำดับตัวอักษรย้อนกลับ ในการดำเนินการดังกล่าว เราจะใช้เมธอด sort() โดยมีอาร์กิวเมนต์ย้อนกลับ:
students = ['Hannah', 'Arnold', 'Paul', 'Chris', 'Kathy'] students.sort(reverse=True) print(students)
รหัสของเราส่งคืนรายชื่อนักเรียนตามลำดับตัวอักษรย้อนกลับ:
['Paul', 'Kathy', 'Hannah', 'Chris','Arnold']
จัดเรียงคีย์ไพธอน
เราสามารถเรียงลำดับรายการของเราโดยใช้วิธีการเรียงลำดับของเราเอง ตัวอย่างเช่น เราสามารถจัดเรียงอาร์เรย์ตามความยาวของสตริงในอาร์เรย์ได้
จัดเรียงตามความยาวของสตริง
โดยใช้ คีย์ พารามิเตอร์ เราสามารถกำหนดประเภทที่เรากำหนดเองได้ นี่คือตัวอย่าง คีย์ อาร์กิวเมนต์ในการดำเนินการที่จะจัดเรียงรายการของเราตามความยาวของสตริงคอมโพเนนต์:
students = ['Sophie', 'Alexander', 'Paul', 'Chris', 'Ann'] sortedStudents = sorted(students, key=len) print(sortedStudents)
รหัสของเราส่งคืนดังต่อไปนี้:
['Ann', 'Paul', 'Chris', 'Sophie', 'Alexander']
ที่นี่ รหัสของเราได้จัดเรียงรายการของเราตามความยาวของสตริง แอน ชื่อยาวสามตัวอักษร มาก่อน และ Alexander ซึ่งชื่อประกอบด้วยอักขระเก้าตัว มาอยู่ท้ายรายการของเรา
ในตัวอย่างข้างต้น เราบอกให้โค้ดจัดเรียงตาม len() ซึ่งเป็นฟังก์ชัน Python ในตัวสำหรับความยาวของวัตถุ แต่ละสตริงในอาร์เรย์ของเราทำงานผ่าน len() . จากนั้นจึงสั่งรายการสุดท้าย
ในทำนองเดียวกัน เราก็สามารถใช้ str.upper เพื่อเรียงลำดับตามตัวอักษรโดยตัวพิมพ์ใหญ่ในแต่ละสตริง หรือเราอาจใช้ฟังก์ชัน Python อื่นเพื่อจัดเรียงรายการของเราทั้งหมด
จัดเรียงตามเนื้อหา JSON
คีย์ยังช่วยให้คุณกำหนดฟังก์ชันของคุณเองซึ่งระบุว่าควรดำเนินการเรียงลำดับอย่างไร นี่คือตัวอย่างของการเรียงลำดับที่จะกลับอาร์เรย์ JSON ด้วยค่าหนึ่ง ในกรณีนี้ คะแนนสอบของนักเรียนบางคน:
def sortFunction(value): return value["test_score"] students = [ { "name": "Sophie", "test_score": 75 }, { "name": "Ann", "test_score": 67 }, { "name": "Chris", "test_score": 73 } ] sortedStudents = sorted(students, key=sortFunction) print(sortedStudents)
รหัสของเราส่งคืนดังต่อไปนี้:
[{'name': 'Ann', 'test_score': 67}, {'name': 'Chris', 'test_score': 73}, {'name': 'Sophie', 'test_score': 75}]
รหัสของเราได้จัดเรียงนักเรียนตามคะแนนการทดสอบของพวกเขา
ประการแรก โปรแกรมของเรากำหนดฟังก์ชันที่เรียกว่า sortFunction ซึ่งจะจัดเรียงอาร์เรย์ JSON ของเราตามค่าของ test_score เมื่อถูกเรียก จากนั้นเราจะประกาศอาร์เรย์ JSON ที่เรียกว่า students พร้อมชื่อนักเรียนและคะแนนสอบ
ต่อไป เราจัดเรียงนักเรียนโดยใช้ฟังก์ชันการจัดเรียงแบบกำหนดเองโดยเรียก sortFunction เป็นกุญแจสำคัญของเรา ในบรรทัดสุดท้าย รหัสของเราจะพิมพ์รายการที่เรียงลำดับของเรา
บทสรุป
ในบทช่วยสอนนี้ เราได้แจกแจงวิธีการใช้ฟังก์ชัน sort() ใน Python เพื่อจัดเรียงรายการ เราได้พูดคุยถึงวิธีการใช้ sort() ในประเภทข้อมูลต่างๆ และ ย้อนกลับ พารามิเตอร์เพื่อย้อนกลับลำดับรายการ นอกจากนี้เรายังครอบคลุมถึงวิธีการใช้กุญแจเพื่อดำเนินการแยกประเภทที่ละเอียดยิ่งขึ้น
หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการเขียนโค้ดใน Python โปรดอ่านคู่มือฉบับสมบูรณ์เกี่ยวกับวิธีการเรียนรู้ Python