Từ điển trong Python là tập hợp các mục lưu trữ dữ liệu dưới dạng cặp khóa-giá trị. Trong Trăn 3. 7 và các phiên bản mới hơn, từ điển được sắp xếp theo thứ tự chèn mục. Trong các phiên bản trước, chúng không có thứ tự
Trong bài viết này, chúng ta sẽ xem cách chúng ta có thể sắp xếp một từ điển dựa trên các giá trị mà chúng chứa
Sắp xếp từ điển bằng vòng lặp for
Chúng ta có thể sắp xếp một từ điển với sự trợ giúp của vòng lặp
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
5. Đầu tiên, chúng ta sử dụng hàm numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6 để sắp xếp thứ tự các giá trị của từ điển. Sau đó, chúng tôi lặp qua các giá trị đã sắp xếp, tìm khóa cho từng giá trị. Chúng tôi thêm các cặp khóa-giá trị này theo thứ tự đã sắp xếp vào một từ điển mớiGhi chú. Sắp xếp không cho phép bạn sắp xếp lại từ điển tại chỗ. Chúng tôi đang viết các cặp theo thứ tự trong một từ điển hoàn toàn mới, trống rỗng
Nếu bạn chạy cái này với trình thông dịch Python, bạn sẽ thấy
{1: 1, 3: 4, 2: 9}
Bây giờ chúng ta đã biết cách sắp xếp bằng vòng lặp, hãy xem xét một giải pháp thay thế phổ biến hơn sử dụng hàm
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6Sắp xếp từ điển bằng hàm sorted[]
Trước đây chúng ta đã sử dụng hàm
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6 để sắp xếp các giá trị của một mảng. Khi sắp xếp từ điển, chúng ta có thể truyền thêm một đối số cho hàm numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6 như thế này. numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0Ở đây,
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
1 là một hàm được gọi trên từng phần tử trước khi các giá trị được so sánh để sắp xếp. Phương thức numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
2 trên các đối tượng từ điển trả về giá trị của khóa của từ điểnBiểu thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 sẽ trả về danh sách các khóa có giá trị được sắp xếp theo thứ tự. Từ đó, chúng ta có thể tạo một từ điển mới, được sắp xếpSử dụng hàm
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6 đã giảm số lượng mã chúng tôi phải viết khi sử dụng vòng lặp numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
5. Tuy nhiên, chúng ta có thể kết hợp thêm hàm numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6 với hàm numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
53 để có giải pháp sắp xếp từ điển theo giá trị ngắn gọn hơnSắp xếp từ điển Sử dụng toán tử Mô-đun và itemgetter[]
Mô-đun
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
54 bao gồm chức năng numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
53. Hàm này trả về một đối tượng có thể gọi được trả về một mục từ một đối tượngVí dụ: hãy sử dụng
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
53 để tạo đối tượng có thể gọi trả về giá trị của bất kỳ từ điển nào có khóa là numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
57Mọi từ điển đều có quyền truy cập vào phương pháp
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
58. Hàm này trả về các cặp khóa-giá trị của từ điển dưới dạng danh sách các bộ. Chúng ta có thể sắp xếp danh sách các bộ dữ liệu bằng cách sử dụng hàm numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
53 để lấy giá trị thứ hai của bộ dữ liệu i. e. giá trị của các khóa trong từ điểnSau khi nó được sắp xếp, chúng ta có thể tạo một từ điển dựa trên các giá trị đó
Với ít nỗ lực hơn, chúng tôi có một từ điển được sắp xếp theo giá trị
Vì đối số
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
1 chấp nhận bất kỳ hàm nào, chúng ta có thể sử dụng các hàm lambda để trả về các giá trị từ điển để chúng có thể được sắp xếp. Hãy xem làm thế nàoSắp xếp từ điển bằng hàm Lambda
Các hàm lambda là các hàm ẩn danh hoặc không tên trong Python. Chúng ta có thể sử dụng các hàm lambda để lấy giá trị của một mục từ điển mà không cần phải nhập mô-đun
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
54 cho numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
53. Nếu muốn tìm hiểu thêm về lambda, bạn có thể đọc về chúng trong hướng dẫn của chúng tôi về Hàm Lambda trong PythonHãy xem hướng dẫn thực hành, thực tế của chúng tôi để học Git, với các phương pháp hay nhất, tiêu chuẩn được ngành chấp nhận và bao gồm bảng gian lận. Dừng các lệnh Git trên Google và thực sự tìm hiểu nó
Hãy sắp xếp từ điển theo giá trị bằng cách sử dụng hàm lambda trong đối số
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
1 của numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6Lưu ý rằng các phương pháp chúng ta đã thảo luận cho đến nay chỉ hoạt động với Python 3. 7 trở lên. Hãy xem những gì chúng ta có thể làm cho các phiên bản Python cũ hơn
Trả lại một từ điển mới với các giá trị được sắp xếp
Sau khi sắp xếp từ điển theo giá trị, để giữ từ điển đã sắp xếp trong các phiên bản Python trước 3. 7, bạn phải sử dụng
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
65 - có sẵn trong mô-đun numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
66. Các đối tượng này là từ điển giữ thứ tự chènĐây là một ví dụ về sắp xếp và sử dụng
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
65Sự kết luận
Hướng dẫn này cho thấy cách một từ điển có thể được sắp xếp dựa trên các giá trị của nó. Đầu tiên chúng tôi sắp xếp một từ điển bằng cách sử dụng hai vòng lặp for. Sau đó, chúng tôi đã cải thiện việc sắp xếp của mình bằng cách sử dụng hàm
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6. Chúng ta cũng đã thấy hàm numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
53 từ mô-đun numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
54 có thể làm cho giải pháp của chúng ta ngắn gọn hơnCuối cùng, chúng tôi đã điều chỉnh giải pháp của mình để hoạt động trên các phiên bản Python thấp hơn 3. 7
Các biến thể của hàm
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6 là phổ biến và đáng tin cậy nhất để sắp xếp từ điển theo giá trị Trong Python, từ điển là một cấu trúc béo không có thứ tự theo mặc định. Vì vậy, đôi khi, bạn sẽ muốn sắp xếp từ điển theo khóa hoặc giá trị để thực hiện truy vấn dễ dàng hơn
Vấn đề là việc sắp xếp một từ điển theo giá trị không bao giờ là một việc đơn giản. Đó là bởi vì Python không có phương thức sẵn có để làm điều đó
Tuy nhiên, tôi đã tìm ra cách sắp xếp từ điển theo giá trị và đó là điều tôi sẽ chỉ cho bạn cách thực hiện trong bài viết này
Những gì chúng tôi sẽ bao gồm
- Cách sắp xếp dữ liệu bằng phương pháp
0numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12] sortedNumbers = sorted[numbers] print[sortedNumbers] # Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
- Phương pháp
0 hoạt động như thế nàonumbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12] sortedNumbers = sorted[numbers] print[sortedNumbers] # Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
- Các thông số của Phương pháp
0numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12] sortedNumbers = sorted[numbers] print[sortedNumbers] # Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
- Các thông số của Phương pháp
- Cách sắp xếp từ điển bằng phương pháp
0numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12] sortedNumbers = sorted[numbers] print[sortedNumbers] # Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
- Cách chuyển đổi danh sách kết quả thành từ điển
- Cách sắp xếp từ điển theo giá trị theo thứ tự tăng dần hoặc giảm dần
- Sự kết luận
Cách sắp xếp dữ liệu bằng phương pháp numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
Phương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 sắp xếp dữ liệu có thể lặp lại như danh sách, bộ dữ liệu và từ điển. Nhưng nó chỉ sắp xếp theo khóaPhương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 đưa các mục được sắp xếp vào một danh sách. Đó là một vấn đề khác mà chúng tôi phải giải quyết, bởi vì chúng tôi muốn từ điển được sắp xếp vẫn là từ điểnChẳng hạn,
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 đã sắp xếp danh sách dưới đây theo thứ tự bảng chữ cáipersons = ['Chris', 'Amber', 'David', 'El-dorado', 'Brad', 'Folake']
sortedPersons = sorted[persons]
print[sortedPersons]
# Output: ['Amber', 'Brad', 'Chris', 'David', 'El-dorado', 'Folake']
Và phương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 sắp xếp các số trong bộ bên dưới theo thứ tự tăng dầnnumbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
Nếu bạn sử dụng phương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 với một từ điển, chỉ các khóa sẽ được trả về và như thường lệ, nó sẽ nằm trong một danh sáchnumbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
3Đây không phải là hành vi bạn muốn. Bạn muốn từ điển được sắp xếp theo giá trị và vẫn là từ điển. Đó là những gì tôi sẽ chỉ cho bạn tiếp theo
Phương pháp numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 hoạt động như thế nào
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
Để sắp xếp một từ điển, chúng ta vẫn sẽ sử dụng chức năng đã sắp xếp, nhưng theo một cách phức tạp hơn. Đừng lo lắng, tôi sẽ giải thích mọi thứ bạn cần biết
Vì chúng ta vẫn sẽ sử dụng phương pháp
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0, nên đã đến lúc giải thích chi tiết về phương pháp numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0Các thông số của Phương pháp numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
Phương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 có thể chấp nhận tối đa 3 tham sốiterable – dữ liệu để lặp lại. Nó có thể là một bộ dữ liệu, danh sách hoặc từ điển
key – một giá trị tùy chọn, chức năng giúp bạn thực hiện thao tác sắp xếp tùy chỉnh
đảo ngược - một giá trị tùy chọn khác. Nó giúp bạn sắp xếp dữ liệu đã được sắp xếp theo thứ tự tăng dần hoặc giảm dần
Nếu bạn đoán đúng, tham số chính là những gì chúng ta sẽ chuyển vào phương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 để từ điển được sắp xếp theo giá trịBây giờ, đã đến lúc sắp xếp từ điển của chúng ta theo giá trị và đảm bảo rằng nó vẫn là một từ điển
Cách sắp xếp từ điển bằng phương pháp numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
Để sắp xếp chính xác một từ điển theo giá trị bằng phương pháp
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0, bạn sẽ phải làm như sau- chuyển từ điển sang phương thức
0 làm giá trị đầu tiênnumbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12] sortedNumbers = sorted[numbers] print[sortedNumbers] # Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
- sử dụng phương pháp
39 trên từ điển để truy xuất các khóa và giá trị của nónumbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12] sortedNumbers = sorted[numbers] print[sortedNumbers] # Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
- viết hàm lambda để lấy các giá trị được truy xuất bằng phương thức
40numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12] sortedNumbers = sorted[numbers] print[sortedNumbers] # Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
Đây là một ví dụ
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
4Như tôi đã nói trước đó, chúng ta phải lấy các giá trị đó của từ điển để có thể sắp xếp từ điển theo giá trị. Đó là lý do tại sao bạn có thể thấy 1 trong hàm lambda
1 đại diện cho các chỉ số của các giá trị. Các phím là 0. Hãy nhớ rằng một lập trình viên bắt đầu đếm từ 0, không phải 1
Với đoạn mã trên, tôi nhận được kết quả bên dưới
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
6Đây là mã đầy đủ để bạn không bị nhầm lẫn
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
7Bạn có thể thấy từ điển đã được sắp xếp theo các giá trị theo thứ tự tăng dần. Bạn cũng có thể sắp xếp theo thứ tự giảm dần. Nhưng chúng tôi sẽ xem xét điều đó sau vì chúng tôi vẫn gặp sự cố với kết quả mà chúng tôi nhận được
Vấn đề là từ điển không còn là từ điển nữa. Các khóa và giá trị riêng lẻ được đặt trong một bộ và tiếp tục được cô đọng thành một danh sách. Hãy nhớ rằng bất cứ điều gì bạn nhận được do kết quả của phương pháp
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 đều được đưa vào danh sáchChúng tôi đã có thể sắp xếp các mục trong từ điển theo giá trị. Những gì còn lại là chuyển đổi nó trở lại từ điển
Cách chuyển đổi danh sách kết quả thành từ điển
Để chuyển đổi danh sách kết quả thành từ điển, bạn không cần phải viết một hàm phức tạp khác hoặc một vòng lặp. Bạn chỉ cần chuyển biến lưu danh sách kết quả vào phương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
42numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0Hãy nhớ rằng chúng ta đã lưu từ điển đã sắp xếp trong biến có tên là
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
43, vì vậy đây là biến mà chúng ta phải chuyển đến numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
42Mã đầy đủ trông như thế này
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
3Đó là nó. Chúng tôi đã có thể sắp xếp các mục trong từ điển và chuyển đổi chúng trở lại từ điển. Chúng tôi vừa ăn bánh và cũng ăn nó
Cách sắp xếp từ điển theo giá trị theo thứ tự tăng dần hoặc giảm dần
Hãy nhớ rằng phương thức
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 chấp nhận giá trị thứ ba có tên là numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
46numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
46 với giá trị là numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
48 sẽ sắp xếp từ điển đã sắp xếp theo thứ tự giảm dầnnumbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
8Bạn có thể thấy đầu ra bị đảo ngược vì chúng tôi đã chuyển
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
49 sang phương thức numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0Nếu bạn hoàn toàn không đặt
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
46 hoặc bạn đặt giá trị của nó thành false, từ điển sẽ được sắp xếp theo thứ tự tăng dần. Đó là mặc địnhSự kết luận
Xin chúc mừng. Giờ đây, bạn có thể sắp xếp từ điển theo giá trị mặc dù không có phương thức hoặc hàm tích hợp sẵn để sử dụng trong Python
Tuy nhiên, có một điều khiến tôi tò mò khi chuẩn bị viết bài này. Hãy nhớ rằng chúng ta có thể sử dụng
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
0 trực tiếp trên từ điển. Kết quả là chúng tôi có một danh sách, mặc dù chúng tôi chỉ nhận được khóa chứ không phải giá trịĐiều gì sẽ xảy ra nếu chúng ta chuyển đổi danh sách đó thành từ điển bằng phương pháp
numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
42? numbers = [14, 3, 1, 4, 2, 9, 8, 10, 13, 12]
sortedNumbers = sorted[numbers]
print[sortedNumbers]
# Output: [1, 2, 3, 4, 8, 9, 10, 12, 13, 14]
4Chúng tôi gặp lỗi. Đó là bởi vì nếu bạn muốn tạo một từ điển từ một danh sách, bạn phải sử dụng khả năng hiểu từ điển. Và nếu bạn sử dụng khả năng hiểu từ điển cho loại dữ liệu này, bạn phải chỉ định một giá trị cho tất cả các mục nhập. Điều đó sẽ thách thức mục đích sắp xếp từ điển theo giá trị, vì vậy đó không phải là điều chúng tôi muốn
Nếu bạn muốn tìm hiểu thêm về cách hiểu từ điển, bạn nên đọc bài viết này
Cảm ơn bạn đã đọc
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
QUẢNG CÁO
Nhà phát triển web và nhà văn kỹ thuật tập trung vào các công nghệ giao diện người dùng
Nếu bạn đọc đến đây, hãy tweet cho tác giả để cho họ thấy bạn quan tâm. Tweet một lời cảm ơn
Học cách viết mã miễn phí. Chương trình giảng dạy mã nguồn mở của freeCodeCamp đã giúp hơn 40.000 người có được việc làm với tư cách là nhà phát triển. Bắt đầu