Computer >> Máy Tính >  >> Lập trình >> Python

Python Sort ():Hướng dẫn Cách thực hiện

Phương thức sort () trong Python sắp xếp danh sách theo thứ tự tăng dần theo các giá trị của nó. Bạn có thể sắp xếp danh sách theo thứ tự giảm dần bằng cách sử dụng tham số đảo ngược. sort () tùy ý chấp nhận một hàm cho phép bạn chỉ định một loại tùy chỉnh.

Tất cả các lập trình viên cuối cùng đều gặp phải tình huống họ phải sắp xếp các mục hoặc dữ liệu. Sắp xếp là rất quan trọng trong nhiều ngữ cảnh. Bạn có thể cần sắp xếp tên người dùng theo thứ tự bảng chữ cái ngược lại hoặc lấy danh sách người nhận email theo thứ tự bảng chữ cái.

Python có một chức năng tích hợp để giúp các nhà phát triển sắp xếp danh sách: sort () . Chức năng sắp xếp cung cấp nhiều tính năng để tùy chỉnh thứ tự danh sách để bạn có thể sắp xếp danh sách Python theo cách tốt nhất cho chương trình của mình.

Trong hướng dẫn này, chúng tôi sẽ đề cập đến những điều cơ bản về sắp xếp trong Python và thảo luận cách sử dụng sort () chức năng.

Danh sách sắp xếp trong Python

Hàm sort () sắp xếp thứ tự liệt kê theo thứ tự tăng dần. Bạn có thể sử dụng sắp xếp tùy chỉnh hoặc sắp xếp theo thứ tự giảm dần bằng cách chỉ định các tham số bổ sung. Các tham số này là tùy chọn.

Hãy xem cú pháp của phương thức sort ():

sort(reverse=True, key=function)

Phương thức sort () của chúng tôi chấp nhận hai đối số tùy chọn:

  • ngược lại:Chỉ định giá trị True sắp xếp danh sách theo thứ tự giảm dần.
  • key:Một chức năng sắp xếp danh sách.

Danh sách sắp xếp trong Python:Thứ tự tăng dần

Dưới đây, chúng tôi xác định một mảng Python. Mảng này chứa một danh sách các số. Những con số này không theo bất kỳ thứ tự cụ thể nào. Để sắp xếp mảng của chúng ta, chúng ta có thể sử dụng hàm sort ():

81% người tham gia cho biết họ cảm thấy tự tin hơn về triển vọng công việc công nghệ của mình sau khi tham gia một cuộc thi đào tạo. Kết hợp với bootcamp ngay hôm nay.

Sinh viên tốt nghiệp bootcamp trung bình dành ít hơn sáu tháng để chuyển đổi nghề nghiệp, từ khi bắt đầu bootcamp đến khi tìm được công việc đầu tiên của họ.

data = [9, 12, 8, 4, 6]
data.sort()

print(data)

Mã của chúng tôi trả về như sau:

[4, 6, 8, 9, 12]

Trên dòng đầu tiên của mã, chúng tôi đã khai báo danh sách các số xuất hiện theo thứ tự ngẫu nhiên.

Tiếp theo, chúng tôi sử dụng sort () hàm không có đối số. Điều này sắp xếp danh sách ban đầu của chúng tôi theo thứ tự bảng chữ cái tăng dần. Sau đó, trên dòng cuối cùng, mã của chúng tôi in dữ liệu đã được sắp xếp.

sort () hàm làm thay đổi mảng ban đầu của chúng ta.

Danh sách sắp xếp trong Python:Thứ tự giảm dần

Đối số đảo ngược sắp xếp danh sách theo thứ tự giảm dần khi nó được đặt thành True. Theo mặc định, đảo ngược được đặt thành Sai , có nghĩa là danh sách cuối cùng của chúng tôi sẽ theo thứ tự tăng dần.

Dưới đây, chúng tôi có danh sách tên học sinh. Chúng tôi muốn sắp xếp danh sách này theo thứ tự bảng chữ cái ngược lại. Để làm như vậy, chúng tôi sẽ sử dụng phương thức sort () với đối số ngược lại:

students = ['Hannah', 'Arnold', 'Paul', 'Chris', 'Kathy']
students.sort(reverse=True)

print(students)

Mã của chúng tôi trả về danh sách tên học sinh theo thứ tự bảng chữ cái ngược lại:

['Paul', 'Kathy', 'Hannah', 'Chris','Arnold']

Sắp xếp các khóa Python

Chúng tôi có thể sắp xếp danh sách của mình bằng cách sử dụng các phương pháp sắp xếp của riêng chúng tôi. Ví dụ:chúng ta có thể sắp xếp một mảng theo độ dài của các chuỗi trong mảng.

Sắp xếp theo độ dài chuỗi

Bằng cách sử dụng phím , chúng tôi có thể xác định loại tùy chỉnh của riêng mình. Đây là một ví dụ về key trong hành động sẽ sắp xếp danh sách của chúng ta theo độ dài của các chuỗi thành phần của nó:

students = ['Sophie', 'Alexander', 'Paul', 'Chris', 'Ann']
sortedStudents = sorted(students, key=len)
print(sortedStudents)

Mã của chúng tôi trả về như sau:

['Ann', 'Paul', 'Chris', 'Sophie', 'Alexander']

Ở đây, mã của chúng tôi đã sắp xếp danh sách của chúng tôi theo độ dài của các chuỗi. Ann , một cái tên dài ba chữ cái, đứng trước và Alexander , tên có chín ký tự, đứng cuối cùng trong danh sách của chúng tôi.

Trong ví dụ trên, chúng tôi yêu cầu mã của chúng tôi sắp xếp theo len () , là hàm Python tích hợp sẵn cho độ dài của một đối tượng. Mỗi chuỗi trong mảng của chúng tôi được chạy qua len () . Sau đó, danh sách cuối cùng được sắp xếp.

Tương tự, chúng tôi có thể đã sử dụng str.upper để sắp xếp theo thứ tự bảng chữ cái theo ký tự hoa trong mỗi chuỗi. Hoặc, chúng tôi có thể đã sử dụng hoàn toàn một hàm Python khác để sắp xếp danh sách của mình.

Sắp xếp theo Nội dung JSON

Các phím cũng cho phép bạn xác định các chức năng của riêng mình để chỉ rõ cách sắp xếp sẽ được thực hiện. Dưới đây là ví dụ về cách sắp xếp sẽ đảo ngược mảng JSON theo một giá trị nhất định. Trong trường hợp này, điểm kiểm tra của một số học sinh:

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)

Mã của chúng tôi trả về như sau:

[{'name': 'Ann', 'test_score': 67}, {'name': 'Chris', 'test_score': 73}, {'name': 'Sophie', 'test_score': 75}]

Mã của chúng tôi đã sắp xếp các sinh viên theo điểm kiểm tra của họ.

Đầu tiên, chương trình của chúng tôi xác định một hàm có tên là sortFunction , sẽ sắp xếp mảng JSON của chúng tôi dựa trên giá trị của test_score khi được gọi. Sau đó, chúng tôi khai báo một mảng JSON được gọi là sinh viên với tên học sinh và điểm kiểm tra của họ.

Tiếp theo, chúng tôi sắp xếp học sinh của mình bằng cách sử dụng chức năng sắp xếp tùy chỉnh của chúng tôi bằng cách gọi sortFunction là chìa khóa của chúng tôi. Ở dòng cuối cùng, mã của chúng tôi in ra danh sách đã sắp xếp của chúng tôi.

Kết luận

Trong hướng dẫn này, chúng tôi đã chia nhỏ cách sử dụng hàm sort () trong Python để sắp xếp danh sách. Chúng tôi đã thảo luận về cách sử dụng sort () trên các loại dữ liệu khác nhau và đảo ngược tham số để đảo ngược thứ tự danh sách. Chúng tôi cũng đã đề cập đến cách sử dụng các khóa để tiến hành sắp xếp chi tiết hơn.

Để tìm hiểu thêm về cách viết mã bằng Python, hãy đọc hướng dẫn đầy đủ của chúng tôi về cách học Python.