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

Python Sort():A How-To Guide

วิธี 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