Trong hướng dẫn này, bạn sẽ học cách sử dụng Python để sắp xếp danh sách bằng phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
1. Khả năng làm việc với các danh sách là một kỹ năng thiết yếu trong Python, với mức độ phổ biến của chúng. Vì danh sách là cấu trúc dữ liệu có thứ tự và có thể thay đổi nên chúng ta có thể sửa đổi thứ tự của chúng. Phương thức # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
2 cho phép bạn thực hiện chính xác điều này. Phương pháp này là một phương pháp có giá trị cho phép bạn sắp xếp theo nhiều cách tùy chỉnhĐến cuối hướng dẫn này, bạn sẽ học được
- Cách sử dụng phương thức sắp xếp Python để sắp xếp danh sách
- Cách sắp xếp theo thứ tự tăng dần, giảm dần và tùy chỉnh
- Cách sắp xếp danh sách danh sách, danh sách bộ và danh sách từ điển
Bắt đầu nào
Mục lục
Danh sách Python sort[] Cú pháp phương thức
Phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
1 của Python sắp xếp các phần tử của danh sách theo một thứ tự nhất định, bao gồm cả thứ tự tăng dần hoặc giảm dần. Phương pháp này hoạt động tại chỗ, nghĩa là danh sách đã thay đổi không cần phải gán lại để sửa đổi danh sáchHãy xem xét các tham số của hàm
# The Parameters of the .sort Method
list.sort[
key=None,
reverse=False]
Như bạn có thể thấy trong khối ở trên, phương thức có hai tham số
4 chỉ định chức năng của một đối số được sử dụng để so sánh với một phần tử danh sách khác. Theo mặc định, tham số được đặt thành# Sorting a List in Ascending Order name = ['d', 'a', 't', 'a', 'g', 'y'] name.sort[] print[name] # Returns: # ['a', 'a', 'd', 'g', 't', 'y']
5, có nghĩa là các mục trong danh sách được sắp xếp trực tiếp mà không cần tính giá trị khóa riêng# Sorting a List in Ascending Order name = ['d', 'a', 't', 'a', 'g', 'y'] name.sort[] print[name] # Returns: # ['a', 'a', 'd', 'g', 't', 'y']
6 chỉ định thứ tự sắp xếp các giá trị. Theo mặc định, đối số được đặt thành# Sorting a List in Ascending Order name = ['d', 'a', 't', 'a', 'g', 'y'] name.sort[] print[name] # Returns: # ['a', 'a', 'd', 'g', 't', 'y']
7, nghĩa là dữ liệu được sắp xếp theo thứ tự tăng dần# Sorting a List in Ascending Order name = ['d', 'a', 't', 'a', 'g', 'y'] name.sort[] print[name] # Returns: # ['a', 'a', 'd', 'g', 't', 'y']
Phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8 không trả về bất cứ thứ gì, mặc dù nó trực tiếp sửa đổi danh sách ban đầu. Nếu đây là hành vi mà bạn hy vọng hoặc mong đợi, thì hàm # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
9 sẽ phù hợp hơn cho việc nàyTrong các phần sau, bạn sẽ tìm hiểu cách sử dụng phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8 để sắp xếp các giá trị trong danh sách. Trước tiên, bạn sẽ học cách sắp xếp danh sách theo thứ tự tăng dầnSắp xếp danh sách Python theo thứ tự tăng dần
Trong phần này, bạn sẽ tìm hiểu cách sắp xếp danh sách theo thứ tự tăng dần bằng phương pháp
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8. Theo mặc định, phương thức này sẽ sử dụng đối số # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
22, nghĩa là các mục sẽ được sắp xếp theo thứ tự tăng dần theo mặc định. Vì vậy, chúng ta có thể bỏ qua việc nhập thông số nàyHãy cùng xem một ví dụ về cách sắp xếp danh sách theo thứ tự tăng dần trong Python
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
Chúng ta có thể thấy rằng các giá trị được sắp xếp theo thứ tự tăng dần. Một điều quan trọng cần lưu ý là các giá trị được so sánh trực tiếp
Điều này có nghĩa là các mục trong danh sách được xử lý như hiện tại - chữ in hoa sẽ tuân theo một thứ tự sắp xếp khác với chữ thường. Trong phần thứ tự sắp xếp tùy chỉnh, bạn sẽ tìm hiểu cách ghi đè hành vi này
Trong phần sau, bạn sẽ tìm hiểu cách sắp xếp danh sách theo thứ tự giảm dần bằng phương pháp
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8 của PythonSắp xếp danh sách Python theo thứ tự giảm dần
Tương tự như sắp xếp danh sách theo thứ tự tăng dần, chúng ta có thể sắp xếp danh sách Python theo thứ tự giảm dần bằng phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8 . Mặc dù theo mặc định, hàm sẽ sắp xếp danh sách theo thứ tự tăng dần, nhưng chúng ta có thể sửa đổi hành vi này bằng cách thay đổi tham số # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
6 thành # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
26Hãy xem cách chúng ta có thể sắp xếp danh sách theo thứ tự đảo ngược bằng phương pháp
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8 # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
2Tương tự như ghi chú trong phần trước, chữ in hoa sẽ được xử lý khác. Tuy nhiên, trong phần sau, bạn sẽ tìm hiểu cách sắp xếp danh sách Python theo thứ tự tùy chỉnh
Sắp xếp danh sách Python theo thứ tự tùy chỉnh bằng khóa
Phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8 của Python cho phép bạn tinh chỉnh thêm thứ tự sắp xếp các mục bằng cách sử dụng tham số # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
4. Hãy xem một ví dụ mà tôi đã đề cập trong hai phần trước. chữ in hoa được xử lý như thế nàoHãy thay đổi một chữ cái thành chữ in hoa trong danh sách và xem điều này thay đổi thứ tự sắp xếp như thế nào
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
2Chúng ta có thể thấy rằng chữ hoa
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
20 được sắp xếp trước các chữ cái viết thường. Điều này là do các giá trị được sắp xếp theo giá trị ASCII của chúng, trong đó các chữ in hoa có giá trị thấp hơn các phiên bản chữ thường của chúngĐây là lúc tham số
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
4 phát huy tác dụng. Chúng ta có thể truyền vào một khóa chấp nhận chức năng để thay đổi thứ tự sắp xếp. Ví dụ: nếu chúng ta muốn so sánh tất cả các chữ cái theo trường hợp của chúng, chúng ta có thể chuyển vào # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
22 có thể gọiHãy xem nó trông như thế nào
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
6Chúng ta có thể thực hiện điều này hơn nữa bằng cách chuyển vào một chức năng tùy chỉnh. Giả sử chúng ta muốn sắp xếp một danh sách các chuỗi theo chữ cái cuối cùng của chúng, trước tiên chúng ta có thể tạo một hàm trả về chữ cái cuối cùng của mỗi mục được truyền vào nó
Hãy xem một ví dụ về cách chúng ta có thể làm điều này
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
7Trong phần tiếp theo, bạn sẽ tìm hiểu cách sử dụng hàm lambda ẩn danh để xác định thứ tự sắp xếp tùy chỉnh
Sắp xếp danh sách Python theo thứ tự tùy chỉnh với Lambda
Trong nhiều trường hợp, bạn sẽ không sử dụng lại chức năng sắp xếp tùy chỉnh. Do đó, nên sử dụng hàm lambda ẩn danh. Hãy xem cách chúng ta có thể tạo lại phương pháp sắp xếp ở trên bằng hàm lambda
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8Chúng ta có thể thấy rằng điều này có một số lợi ích chính
- Nó làm giảm số lượng mã chúng ta cần viết
- Chúng tôi làm rõ hơn chức năng sắp xếp của chúng tôi bằng cách không cần chuyển sang dòng mã khác
Trong các phần sau, bạn sẽ học cách sắp xếp các cấu trúc danh sách phổ biến khác nhau, chẳng hạn như danh sách các danh sách, danh sách các bộ và danh sách các từ điển
Sắp xếp danh sách danh sách Python
Trong phần này, bạn sẽ tìm hiểu cách sắp xếp danh sách các danh sách trong Python bằng phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8. Trong ví dụ này, chúng tôi sẽ sắp xếp danh sách các danh sách theo độ dài của chúng, theo thứ tự tăng dần [từ ngắn nhất đến dài nhất]Một lần nữa, chúng ta có thể làm điều này bằng cách sử dụng tham số
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
4 và chuyển vào # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
25 có thể gọi. Điều này sẽ sắp xếp theo giá trị được trả về của hàm # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
26, theo thứ tự tăng dần# The Parameters of the .sort Method
list.sort[
key=None,
reverse=False]
3Ở đây chúng ta có thể thấy rằng mỗi danh sách được sắp xếp theo độ dài của nó, do đó danh sách con ngắn hơn được sắp xếp trước danh sách dài hơn
Sắp xếp một danh sách Python của Tuples
Sắp xếp một danh sách các bộ trong Python giống như cách bạn sắp xếp một danh sách các danh sách. Vì điều này, chúng ta hãy xem một ví dụ cho biết cách sắp xếp bằng một phím khác
Ví dụ: hãy tưởng tượng chúng ta có một bộ chứa
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
27, chúng ta có thể sắp xếp danh sách các quốc gia theo thứ tự có nhiều huy chương nhất đến ít nhất. Hãy xem làm thế nào chúng ta có thể làm điều này# The Parameters of the .sort Method
list.sort[
key=None,
reverse=False]
5Chúng ta có thể thấy rằng chúng ta đã sắp xếp các bộ dữ liệu theo số lượng huy chương theo thứ tự giảm dần. Chúng tôi đã làm điều này bằng cách sử dụng hàm lambda và truy cập mục chỉ mục đầu tiên
Sắp xếp danh sách từ điển Python
Trong phần cuối cùng này, chúng ta sẽ khám phá cách sắp xếp danh sách từ điển. Bởi vì từ điển được tạo thành từ
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
28 cặp nên không thể truy cập các mục theo chỉ mục của chúng. Hãy tưởng tượng chúng ta có từ điển sau# The Parameters of the .sort Method
list.sort[
key=None,
reverse=False]
7Giả sử chúng tôi muốn sắp xếp danh sách những người theo độ tuổi của họ, theo thứ tự tăng dần. Để làm được điều này, chúng ta cần truy cập vào giá trị của khóa
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
29 . Chúng ta có thể làm điều này bằng cách sử dụng phương thức # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
60 Chúng ta có thể chuyển phương thức
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
60 vào hàm lambda và truy cập khóa # Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
62# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
0Phần kết luận
Trong bài đăng này, bạn đã học cách sử dụng Python để sắp xếp danh sách bằng phương pháp
# Sorting a List in Ascending Order
name = ['d', 'a', 't', 'a', 'g', 'y']
name.sort[]
print[name]
# Returns:
# ['a', 'a', 'd', 'g', 't', 'y']
8. Bạn đã học cách cú pháp của phương thức sắp xếp trong Python hoạt động. Sau đó, bạn đã học cách sử dụng phương thức để sắp xếp các mục trong danh sách Python theo thứ tự tăng dần, giảm dần và tùy chỉnh. Sau đó, bạn đã học cách sắp xếp danh sách danh sách, danh sách bộ và danh sách từ điển