Hàm list sort[] trong Python có thể được sử dụng để sắp xếp Danh sách theo thứ tự tăng dần, giảm dần hoặc do người dùng xác định. Trong mỗi trường hợp, độ phức tạp thời gian là O[nlogn] trong Python
Cú pháp của hàm sort[]
cú pháp.
List_name.sort[reverse=True/False, key=myFunc]Tham số
- đảo ngược. [Tùy chọn], reverse=True sẽ sắp xếp danh sách giảm dần. Mặc định là đảo ngược=Sai
- phím Tùy chọn. Một hàm để chỉ định [các] tiêu chí sắp xếp
ví dụ 1. Sắp xếp danh sách các số theo thứ tự tăng dần
Phương thức sort[] mặc định sắp xếp phần tử theo thứ tự tăng dần như chúng ta có thể xem ví dụ bên dưới
Python3
[1, 2, 3, 4]3
[1, 2, 3, 4]4
[1, 2, 3, 4]5
[1, 2, 3, 4]6
[1, 2, 3, 4]7
[1, 2, 3, 4]0
[1, 2, 3, 4]1
[1, 2, 3, 4]2
[1, 2, 3, 4]1
[1, 2, 3, 4]4
[1, 2, 3, 4]1
[1, 2, 3, 4]6
[1, 2, 3, 4]7
[1, 2, 3, 4]8
[1, 2, 3, 4]9
[1, 2, 3, 4]10
[1, 2, 3, 4]11
[1, 2, 3, 4]9
[1, 2, 3, 4]13
[1, 2, 3, 4]14
[1, 2, 3, 4]9
[1, 2, 3, 4]16______117
[1, 2, 3, 4]18
[1, 2, 3, 4]14
[1, 2, 3, 4]9
[1, 2, 3, 4]21____222
[1, 2, 3, 4]23
đầu ra
[1, 2, 3, 4]
ví dụ 2. Sắp xếp danh sách bảng chữ cái theo thứ tự tăng dần
Phương thức sort[] sắp xếp danh sách theo thứ tự từ A-Z, đến a-z trong bảng chữ cái.
Python3
[1, 2, 3, 4]24
[1, 2, 3, 4]25
[1, 2, 3, 4]26
[1, 2, 3, 4]6
[1, 2, 3, 4]7
[1, 2, 3, 4]29
[1, 2, 3, 4]1
[1, 2, 3, 4]11
[1, 2, 3, 4]1
[1, 2, 3, 4]13
[1, 2, 3, 4]1
[1, 2, 3, 4]15
[1, 2, 3, 4]7
[1, 2, 3, 4]8
[1, 2, 3, 4]18
[1, 2, 3, 4]19
[1, 2, 3, 4]9
[1, 2, 3, 4]31
đầu ra
[1, 2, 3, 4]1
ví dụ 3. Sắp xếp danh sách theo thứ tự giảm dần
Ở đây, chúng tôi đang sắp xếp danh sách các số theo thứ tự Giảm dần, điều tương tự sẽ xảy ra với bảng chữ cái [Z-A, z-a]
Python3
[1, 2, 3, 4]3
[1, 2, 3, 4]33
[1, 2, 3, 4]34
[1, 2, 3, 4]5
[1, 2, 3, 4]6
[1, 2, 3, 4]7
[1, 2, 3, 4]0
[1, 2, 3, 4]1
[1, 2, 3, 4]2
[1, 2, 3, 4]1
[1, 2, 3, 4]4
[1, 2, 3, 4]1
[1, 2, 3, 4]6
[1, 2, 3, 4]7
[1, 2, 3, 4]46
[1, 2, 3, 4]47
[1, 2, 3, 4]6
[1, 2, 3, 4]49
[1, 2, 3, 4]50
[1, 2, 3, 4]9____852
đầu ra
[1, 2, 3, 4]2
Ví dụ 4. Sắp xếp theo thứ tự do người dùng xác định
Trong ví dụ này, chúng ta đang sắp xếp các phần tử bằng cách sử dụng hàm dựa trên việc chuyển hàm tới tham số chính của hàm sort[]
Python3
[1, 2, 3, 4]53
[1, 2, 3, 4]54
[1, 2, 3, 4]55
[1, 2, 3, 4]56
[1, 2, 3, 4]57
[1, 2, 3, 4]58
[1, 2, 3, 4]59
[1, 2, 3, 4]0
[1, 2, 3, 4]7
[1, 2, 3, 4]62
[1, 2, 3, 4]63
[1, 2, 3, 4]64
[1, 2, 3, 4]6
[1, 2, 3, 4]66
[1, 2, 3, 4]0
[1, 2, 3, 4]1_______16
[1, 2, 3, 4]70
[1, 2, 3, 4]2
[1, 2, 3, 4]1
[1, 2, 3, 4]2
[1, 2, 3, 4]70
[1, 2, 3, 4]0
[1, 2, 3, 4]1
[1, 2, 3, 4]0
[1, 2, 3, 4]78
Bạn có thể tùy chọn chỉ định các tham số để tùy chỉnh sắp xếp như thứ tự sắp xếp và tiêu chí sắp xếp
cú pháp
danh sách. sắp xếp [ chính , đảo ngược]
Python list sort[] method parametersParameterConditionDescriptionkeyOptionalMột hàm để chỉ định tiêu chí sắp xếp.
Giá trị mặc định là Không có. reverseOptionalĐặt nó thành True sắp xếp danh sách theo thứ tự đảo ngược.
Giá trị mặc định là Sai.
Xin lưu ý rằng cả hai đối số phải được chỉ định làm đối số từ khóa
Danh sách sắp xếp
Phương pháp
[1, 2, 3, 4]31 sắp xếp danh sách các chuỗi theo thứ tự bảng chữ cái và danh sách các số theo số
[1, 2, 3, 4]4
[1, 2, 3, 4]3
Tuy nhiên, bạn không thể sắp xếp danh sách có cả số và chuỗi trong đó, vì Python không biết cách so sánh các giá trị này
[1, 2, 3, 4]6
Sắp xếp danh sách theo thứ tự đảo ngược
Bạn cũng có thể sắp xếp danh sách theo thứ tự đảo ngược bằng cách đặt reverse thành TRUE.
[1, 2, 3, 4]7
Sắp xếp theo khóa
Sử dụng tham số key để sắp xếp tùy chỉnh phức tạp hơn. Tham số key chỉ định một hàm sẽ được thực thi trên từng mục danh sách trước khi thực hiện so sánh.
Ví dụ: với một danh sách các chuỗi, chỉ định
[1, 2, 3, 4]33 [hàm len[] tích hợp] sắp xếp các chuỗi theo độ dài, từ ngắn nhất đến dài nhất
[1, 2, 3, 4]9
Hàm được sử dụng làm khóa phải nhận một giá trị và trả về một giá trị
Sắp xếp với chức năng tùy chỉnh
Bạn cũng có thể chuyển vào hàm tùy chỉnh của riêng mình
[1, 2, 3, 4]34 dưới dạng hàm khóa .
[1, 2, 3, 4]1
[1, 2, 3, 4]2
Sắp xếp không phân biệt chữ hoa chữ thường
Theo mặc định, phương pháp
[1, 2, 3, 4]31 sắp xếp danh sách theo thứ tự ASCIIbetical chứ không phải thứ tự bảng chữ cái thực tế. Điều này có nghĩa là chữ hoa đến trước chữ thường
[1, 2, 3, 4]4
Nếu bạn muốn sắp xếp các giá trị theo thứ tự bảng chữ cái thông thường, hãy đặt khóa key thành str. thấp hơn
[1, 2, 3, 4]5
Điều này khiến hàm
[1, 2, 3, 4]31 xử lý tất cả các mục trong danh sách như thể chúng là chữ thường mà không thực sự thay đổi các giá trị trong danh sách
sắp xếp [] so với sắp xếp []
Phương thức
[1, 2, 3, 4]31 không trả về bất cứ thứ gì, nó sửa đổi danh sách ban đầu [i. e. sắp xếp tại chỗ]. Nếu bạn không muốn sửa đổi danh sách ban đầu, hãy sử dụng hàm sorted[]. Nó trả về một bản sao được sắp xếp của danh sách
[1, 2, 3, 4]8
[1, 2, 3, 4]30
Một điểm khác biệt nữa là phương thức
[1, 2, 3, 4]31 chỉ được xác định cho danh sách. Ngược lại, hàm
[1, 2, 3, 4]39 chấp nhận bất kỳ iterable nào như tuple, dictionary, v.v. Ngoài ra, phương pháp
[1, 2, 3, 4]31 không cần tạo danh sách mới, vì vậy sẽ nhanh hơn giữa hai