Hướng dẫn how do i sort an ordered dictionary in python? - làm cách nào để sắp xếp từ điển theo thứ tự trong python?

Để sắp xếp từ điển theo giá trị trong Python, bạn có thể sử dụng hàm sorted(). Chức năng Python sườn sorted() có thể được sử dụng để sắp xếp từ điển theo khóa, cho phép phương thức sắp xếp tùy chỉnh. sorted() có ba đối số: đối tượng, khóa và đảo ngược.


Từ điển là cấu trúc dữ liệu không theo thứ tự. Họ sử dụng cấu trúc ánh xạ để lưu trữ dữ liệu. Từ điển bản đồ các phím đến các giá trị, tạo các cặp chứa dữ liệu liên quan.

Hướng dẫn how do i sort an ordered dictionary in python? - làm cách nào để sắp xếp từ điển theo thứ tự trong python?

Tìm Bootcamp của bạn phù hợp

  • Karma nghề nghiệp phù hợp với bạn với bootcamp công nghệ hàng đầu
  • Truy cập các học bổng và khóa học chuẩn bị độc quyền

Chọn mối quan tâm của bạn họ Tên điện thoại Email Tên của bạn
First name

Last name

Email

Phone number

Bằng cách tiếp tục, bạn đồng ý với các điều khoản dịch vụ và chính sách quyền riêng tư của chúng tôi và bạn đồng ý nhận được các ưu đãi và cơ hội từ Karma nghề nghiệp qua điện thoại, tin nhắn văn bản và email.

Sử dụng phương thức Python sorted(), bạn có thể sắp xếp nội dung của từ điển theo giá trị. Chẳng hạn, để xếp hạng sự phổ biến của các mặt hàng trên menu cà phê hoặc liệt kê các mục đó theo thứ tự bảng chữ cái, bạn có thể sử dụng phương pháp Python tựa sorted(). Hướng dẫn này sẽ thảo luận về cách thức hoạt động của phương thức sorted() và cách bạn có thể sử dụng nó để sắp xếp nội dung của từ điển. & NBSP;

Python Sắp xếp () bồi dưỡng

Có thể sử dụng chức năng sorted() tích hợp của Python, có thể được sử dụng để sắp xếp các đối tượng có thể đi được bằng một khóa, chẳng hạn như danh sách, bộ dữ liệu và từ điển. Hàm sorted() sắp xếp các mục của đối tượng có thể điều chỉnh được chỉ định và tạo một đối tượng mới với các giá trị mới được sắp xếp.

Tại đây, cú pháp cho

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
2Method:

được sắp xếp (đối tượng, khóa, đảo ngược)

Phương thức có ba tham số:

  • Đối tượng: Đối tượng có thể sai mà bạn muốn sắp xếp (bắt buộc): the iterable object that you want to sort (required)
  • Khóa: Hàm cho phép bạn thực hiện các hoạt động sắp xếp tùy chỉnh (tùy chọn): the function that allows you to perform custom sort operations (optional)
  • Đảo ngược: Chỉ định xem đối tượng có nên được sắp xếp theo thứ tự giảm dần hay không (tùy chọn): specifies whether the object should be sorted in descending order (optional)

Như bạn có thể thấy,

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
3 là tham số duy nhất cần thiết. Nếu bạn quyết định không sử dụng các tham số
orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
4 và
orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
5 tùy chọn, Python sẽ tự động sắp xếp đối tượng theo thứ tự tăng dần.

Lưu ý: Karma nghề nghiệp đã viết một hướng dẫn đầy đủ về các phương thức sắp xếp () và Sắp xếp () trong Python. Nếu bạn đang tìm cách tìm hiểu thêm về phương pháp này và tham số

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
6, hãy xem hướng dẫn Python Sắp xếp () của chúng tôi.

Hãy cùng đi qua một ví dụ nhanh để minh họa cách thức hoạt động của phương thức (). & Nbsp;

Giả sử rằng chúng tôi đang vận hành một quán cà phê và chúng tôi muốn lấy một danh sách theo thứ tự bảng chữ cái của khách hàng

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
7 (lòng trung thành) của chúng tôi. Chúng tôi đã có một danh sách khách hàng, nhưng nó được đặt hàng trước ngày đăng ký. Chúng tôi có thể sử dụng mã sau để sắp xếp danh sách của mình:

customers = ['Kaley Fernandez', 'Darius Rowland', 'Isaac Borthwick',  'Alexandria Kidd']
sorted_customers = sorted(customers)
print(sorted_customers)

Mã của chúng tôi sắp xếp mảng

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
8 và trả về như sau:

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
9

Trên dòng đầu tiên của mã của chúng tôi, chúng tôi tuyên bố một danh sách lưu trữ tên khách hàng của chúng tôi; Danh sách này được gọi là: Khách hàng. Sau đó, chúng tôi sử dụng phương thức sorted() để sắp xếp danh sách tên khách hàng theo thứ tự tăng dần; Danh sách mới này được gọi là:

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
1. Cuối cùng, chúng tôi in ra danh sách mới được sắp xếp vào bảng điều khiển bằng hàm
orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
2.

Sắp xếp một từ điển theo giá trị

Hãy nói rằng bạn có một từ điển và bạn muốn sắp xếp nó theo các cặp giá trị khóa. Bạn có thể làm điều này bằng cách sử dụng hai chức năng cùng nhau:

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
3and ________ 4. & nbsp;

Hàm

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
5 cho phép bạn truy xuất các mục trong từ điển. Chúng ta có thể sử dụng chức năng này kết hợp với hàm sorted() và tham số tùy chỉnh
orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])
6 để sắp xếp từ điển theo giá trị. Xem xét hai ví dụ sau.

Ví dụ 1: Sắp xếp theo thứ tự giảm dần

Hãy để trở lại quán cà phê. Giả sử chúng ta có một từ điển lưu trữ các mặt hàng trong menu cà phê của chúng ta cũng như có bao nhiêu trong số mỗi mặt hàng được đặt hàng trong tháng trước. Chúng tôi muốn xem cà phê phổ biến nhất là gì vào tháng trước, vì vậy chúng tôi quyết định sắp xếp từ điển đặt hàng theo thứ tự giảm dần của các giá trị.

Ở đây, một chương trình chúng tôi có thể sử dụng để sắp xếp nội dung của từ điển theo giá trị:

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1], reverse=True)

for i in sort_orders:
	print(i[0], i[1])

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

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
8

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
9

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
0

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
1

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
2

Có rất nhiều thứ đang diễn ra trong mã của chúng tôi, vì vậy hãy để chúng phá vỡ nó. & NBSP;

Khi bắt đầu mã của chúng tôi, chúng tôi xác định một từ điển gọi là

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
3 lưu trữ tên của cà phê là chìa khóa và số được bán dưới dạng giá trị.keys and the number sold as values.

Sau đó, chúng tôi sử dụng phương thức sorted() để sắp xếp từ điển

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
3 theo giá trị. Ở đây, một sự cố về cách chúng tôi sử dụng phương pháp sorted():

Hướng dẫn how do i sort an ordered dictionary in python? - làm cách nào để sắp xếp từ điển theo thứ tự trong python?

"Karma nghề nghiệp bước vào cuộc sống của tôi khi tôi cần nó nhất và nhanh chóng giúp tôi kết hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi tìm thấy công việc mơ ước của mình phù hợp với các giá trị và mục tiêu của tôi trong cuộc sống!"

Sao Kim, Kỹ sư phần mềm tại Rockbot

Tham số Chữ Sự mô tả
sự vật đơn đặt hàng.items () & nbsp;Đề cập đến tất cả các giá trị trong từ điển của chúng tôi. Nếu chúng ta chỉ sử dụng các đơn đặt hàng trên mạng, chúng ta sẽ phải tham khảo vị trí chỉ mục của mục để có được giá trị cá nhân của nó. Trong khi đó, nếu chúng ta sử dụng Order.items (), một danh sách có thể lặp lại với các mục trong danh sách được tạo.
Chìa khóa phím = lambda x: x [1]Một cơ chế sắp xếp cho phép chúng ta sắp xếp từ điển theo giá trị. Đây là một ví dụ về hàm Lambda, là một hàm không có tên.
đảo ngược đảo ngược = trueNói rằng chúng tôi muốn dữ liệu của chúng tôi được sắp xếp theo thứ tự giảm dần.

Cuối cùng, chúng tôi tạo một vòng lặp

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
7 lặp qua từng mục được tạo trong
orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
8Method của chúng tôi và in ra cả tên khóa và giá trị của nó, được sắp xếp theo thứ tự chúng tôi chỉ định trong hàm
orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
9.

Ví dụ 2: Sắp xếp theo thứ tự tăng dần

Tương tự, nếu chúng tôi muốn tìm hiểu đồ uống ít phổ biến nhất được bán tại quán cà phê của chúng tôi, chúng tôi có thể sử dụng cùng một mã như trên nhưng không có tham số sorted()0. Ở đây, một ví dụ về mã cho điều này:

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])

Khi chúng tôi chạy mã của mình, các giá trị sau được trả về:

sorted()1

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
1

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
0

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
9

sorted()5

Như bạn có thể thấy, mã của chúng tôi đã trả lại một danh sách các mục được sắp xếp theo thứ tự tăng dần, dựa trên số lượng của mỗi mục được đặt hàng trong tháng trước.

Danh sách hiểu

Ngoài ra, chúng ta có thể sử dụng danh sách hiểu để sắp xếp nội dung từ điển theo giá trị. Danh sách hiểu là một kỹ thuật súc tích để tạo danh sách trong Python và có thể tiết kiệm không gian nếu bạn đang tạo các phương thức sắp xếp phức tạp hơn.

Ở đây, mã mà chúng tôi sẽ sử dụng để sắp xếp các đơn đặt hàng cà phê của mình theo đơn đặt hàng tăng dần theo số lượng của mỗi cà phê được đặt hàng bằng cách sử dụng danh sách hiểu:

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])

Khi chúng tôi chạy mã của mình, phản hồi sau được trả về:

sorted()1

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
1

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
0

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

sort_orders = sorted(orders.items(), key=lambda x: x[1])

for i in sort_orders:
	print(i[0], i[1])
9

sorted()5

Kết quả của mã của chúng tôi giống như ví dụ trên của chúng tôi, nơi chúng tôi đã sắp xếp nội dung của sorted()1List theo thứ tự tăng dần. Nhưng thay vì xác định biến sorted()2 và tạo vòng lặp

orders = {
	'cappuccino': 54,
	'latte': 56,
	'espresso': 72,
	'americano': 48,
	'cortado': 41
}

[print(key, value) for (key, value) in sorted(orders.items(), key=lambda x: x[1])
7 riêng biệt để lặp lại thông qua danh sách được sắp xếp, chúng tôi đã tạo một danh sách bằng kỹ thuật hiểu danh sách.

Danh sách hiểu chúng tôi đã tạo ở trên các sắp xếp thông qua từng mục trong danh sách của chúng tôi theo thứ tự tăng dần, sau đó in ra khóa và giá trị của từng mục từ điển vào bảng điều khiển.

Sự kết luận

Khi bạn làm việc với từ điển trong Python, việc sắp xếp từ điển theo giá trị là một hoạt động phổ biến. Phương thức sorted() cho phép bạn sắp xếp một tập hợp dữ liệu dựa trên nhu cầu của bạn.

Hướng dẫn này đã thảo luận, cung cấp các ví dụ, cách sử dụng phương thức sorted() để sắp xếp từ điển theo giá trị trong Python, bao gồm cách sử dụng sorted()6and ________ 57Parameter. & NBSP;

Bây giờ bạn đã sẵn sàng để bắt đầu sắp xếp từ điển theo giá trị như Python Pro!

Có cách nào để sắp xếp từ điển trong Python không?

Sử dụng hàm Sắp xếp () Hàm quan trọng mà bạn sẽ sử dụng để sắp xếp từ điển là hàm Sắp xếp () tích hợp.Hàm này lấy một điều đáng tin cậy làm đối số chính, với hai đối số chỉ từ khóa tùy chọn, một hàm khóa và giá trị boolean ngược. The critical function that you'll use to sort dictionaries is the built-in sorted() function. This function takes an iterable as the main argument, with two optional keyword-only arguments—a key function and a reverse Boolean value.

Bạn có thể sắp xếp các giá trị của một từ điển?

Không thể sắp xếp một từ điển, chỉ để có được một đại diện của một từ điển được sắp xếp.Từ điển vốn đã không có trật tự, nhưng các loại khác, chẳng hạn như danh sách và bộ dữ liệu, thì không.Vì vậy, bạn cần một loại dữ liệu được đặt hàng để thể hiện các giá trị được sắp xếp, đây sẽ là một danh sách có lẽ là một danh sách các bộ dữ liệu., only to get a representation of a dictionary that is sorted. Dictionaries are inherently orderless, but other types, such as lists and tuples, are not. So you need an ordered data type to represent sorted values, which will be a list—probably a list of tuples.