Ghi chú. Sự khác biệt đơn giản nhất giữa
list.sort[key=..., reverse=...]7 và
sorted[list, key=..., reverse=...]0 là.
list.sort[key=..., reverse=...]7 thay đổi danh sách trực tiếp và không trả về bất kỳ giá trị nào, trong khi
sorted[list, key=..., reverse=...]0 không thay đổi danh sách và trả về danh sách đã sắp xếp
sắp xếp [] Tham số
Theo mặc định,
list.sort[key=..., reverse=...]7 không yêu cầu bất kỳ tham số bổ sung nào. Tuy nhiên, nó có hai tham số tùy chọn
- đảo ngược - Nếu
sorted[list, key=..., reverse=...]
4, danh sách được sắp xếp bị đảo ngược [hoặc được sắp xếp theo thứ tự Giảm dần] - key - chức năng đóng vai trò là khóa để so sánh sắp xếp
sắp xếp [] Giá trị trả về
Phương thức
list.sort[key=..., reverse=...]7 không trả về bất kỳ giá trị nào. Thay vào đó, nó thay đổi danh sách ban đầu
Nếu bạn muốn một hàm trả về danh sách đã sắp xếp thay vì thay đổi danh sách ban đầu, hãy sử dụng
sorted[list, key=..., reverse=...]0
ví dụ 1. Sắp xếp một danh sách nhất định
________số 8_______đầu ra
Sorted list: ['a', 'e', 'i', 'o', 'u']
Sắp xếp theo thứ tự giảm dần
Phương thức
list.sort[key=..., reverse=...]7 chấp nhận tham số
sorted[list, key=..., reverse=...]8 làm đối số tùy chọn
Đặt
sorted[list, key=..., reverse=...]9 sắp xếp danh sách theo thứ tự giảm dần
list.sort[reverse=True]
Ngoài ra, đối với
sorted[list, key=..., reverse=...]0, bạn có thể sử dụng đoạn mã sau
sorted[list, reverse=True]
ví dụ 2. Sắp xếp danh sách theo thứ tự giảm dần
# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']
# sort the vowels
vowels.sort[reverse=True]
# print vowels
print['Sorted list [in Descending]:', vowels]
đầu ra
Sorted list [in Descending]: ['u', 'o', 'i', 'e', 'a']
Sắp xếp với chức năng tùy chỉnh bằng phím
Nếu bạn muốn triển khai sắp xếp của riêng mình, phương thức
list.sort[key=..., reverse=...]7 cũng chấp nhận hàm
# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']
# sort the vowels
vowels.sort[]
# print vowels
print['Sorted list:', vowels]
2 làm tham số tùy chọnDựa vào kết quả của hàm key, có thể sắp xếp danh sách đã cho
list.sort[key=len]
Ngoài ra để sắp xếp
list.sort[key=..., reverse=...]0
Ở đây,
# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']
# sort the vowels
vowels.sort[]
# print vowels
print['Sorted list:', vowels]
3 là hàm có sẵn của Python để đếm độ dài của một phần tửDanh sách được sắp xếp dựa trên độ dài của từng phần tử, từ thấp nhất đến cao nhất
Chúng tôi biết rằng một bộ dữ liệu được sắp xếp theo tham số đầu tiên của nó theo mặc định. Hãy xem cách tùy chỉnh phương thức
list.sort[key=..., reverse=...]7 để sắp xếp bằng phần tử thứ hai
ví dụ 3. Sắp xếp danh sách bằng phím
list.sort[key=..., reverse=...]1
đầu ra
list.sort[key=..., reverse=...]2
Hãy lấy một ví dụ khác. Giả sử chúng ta có một danh sách thông tin về nhân viên của một văn phòng trong đó mỗi phần tử là một từ điển
Chúng ta có thể sắp xếp danh sách theo cách sau
list.sort[key=..., reverse=...]3
đầu ra
list.sort[key=..., reverse=...]4
Ở đây, đối với trường hợp đầu tiên, hàm tùy chỉnh của chúng tôi trả về tên của từng nhân viên. Vì tên là
# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']
# sort the vowels
vowels.sort[]
# print vowels
print['Sorted list:', vowels]
5, Python theo mặc định sắp xếp nó theo thứ tự bảng chữ cáiĐối với trường hợp thứ hai, tuổi [
# vowels list
vowels = ['e', 'a', 'u', 'o', 'i']
# sort the vowels
vowels.sort[]
# print vowels
print['Sorted list:', vowels]
6] được trả về và được sắp xếp theo thứ tự tăng dầnĐối với trường hợp thứ ba, hàm trả về mức lương [_______8_______6] và được sắp xếp theo thứ tự giảm dần bằng cách sử dụng
sorted[list, key=..., reverse=...]9
Bạn nên sử dụng hàm lambda khi hàm này có thể được tóm tắt trong một dòng. Vì vậy, chúng ta cũng có thể viết chương trình trên như
Yêu cầu trong câu hỏi này yêu cầu một list
số nguyên có kích thước 10 theo thứ tự giảm dần. Vì vậy, hãy tạo một danh sách trong python
# This meets the requirement.
# But it is a bit harder to wrap one's head around this. right?
>>> range[10-1, -1, -1]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
# let's find something that is a bit more self-explanatory. Sounds good?
# ----------------------------------------------------
# This returns a list in ascending order.
# Opposite of what the requirement called for.
>>> range[10]
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# This returns an iterator in descending order.
# Doesn't meet the requirement as it is not a list.
>>> reversed[range[10]]
# This returns a list in descending order and meets the requirement
>>> list[reversed[range[10]]]
[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]