Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Dung dịch mẫu-2
Ghi chú. Giá trị từ điển phải cùng loại
- sử dụng chính tả. items[] để lấy danh sách các cặp tuple từ d và sắp xếp nó bằng hàm lambda và sorted[]
- Sử dụng dict[] để chuyển đổi danh sách đã sắp xếp thành từ điển
- Sử dụng tham số đảo ngược trong sorted[] để sắp xếp từ điển theo thứ tự đảo ngược, dựa trên đối số thứ hai
Mã Python
def sort_dict_by_value[d, reverse = False]:
return dict[sorted[d.items[], key = lambda x: x[1], reverse = reverse]]
print["Original dictionary elements:"]
colors = {'Red': 1, 'Green': 3, 'Black': 5, 'White': 2, 'Pink': 4}
print[colors]
print["\nSort [ascending] the said dictionary elements by value:"]
print[sort_dict_by_value[colors]]
print["\nSort [descending] the said dictionary elements by value:"]
print[sort_dict_by_value[colors, True]]
Đầu ra mẫu
Original dictionary elements: {'Red': 1, 'Green': 3, 'Black': 5, 'White': 2, 'Pink': 4} Sort [ascending] the said dictionary elements by value: {'Red': 1, 'White': 2, 'Green': 3, 'Pink': 4, 'Black': 5} Sort [descending] the said dictionary elements by value: {'Black': 5, 'Pink': 4, 'Green': 3, 'White': 2, 'Red': 1}
Sơ đồ
Trực quan hóa việc thực thi mã Python
Công cụ sau đây trực quan hóa những gì máy tính đang làm từng bước khi nó thực thi chương trình nói trên
Trình chỉnh sửa mã Python
Có một cách khác để giải quyết giải pháp này?
Trước. Trang chủ bài tập từ điển Python
Kế tiếp. Viết chương trình Python để thêm khóa vào từ điển
Mức độ khó của bài tập này là gì?
Dễ dàng trung bình khóKiểm tra kỹ năng Lập trình của bạn với bài kiểm tra của w3resource
Theo dõi chúng tôi trên Facebook và Twitter để cập nhật thông tin mới nhất.
con trăn. Lời khuyên trong ngày
lớp liệt kê
Đây là một cách tiếp cận sang trọng khác từ Python, không có ý định chơi chữ. Lớp enum của Python sẽ cho phép bạn tạo các thành viên đối tượng enum với các giá trị không đổi và duy nhất mà sau đó có thể được liệt kê, so sánh hoặc sử dụng để nhận dạng
Để sắp xếp từ điển theo giá trị trong Python, bạn có thể sử dụng hàm sorted[]
. Hàm sorted[]
của Python 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 có thứ tự. Họ sử dụng cấu trúc ánh xạ để lưu trữ dữ liệu. Từ điển ánh xạ các khóa thành các giá trị, tạo các cặp chứa dữ liệu liên quan
Tìm trận đấu Bootcamp của bạn
- Career Karma kết hợp bạn với các bootcamp công nghệ hàng đầu
- Truy cập học bổng độc quyền và các khóa học chuẩn bị
Tên đầu tiên
Họ
Số điện thoại
Bằng cách tiếp tục, bạn đồng ý với Đ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 ưu đãi và cơ hội từ Career Karma qua điện thoại, tin nhắn văn bản và email
Sử dụng phương thức sorted[]
của Python, 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 mức độ phổ biến của các món trong thực đơn cà phê hoặc liệt kê các món đó theo thứ tự bảng chữ cái, bạn có thể sử dụng phương thức sorted[]
của Python. Hướng dẫn này sẽ thảo luận về cách 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.
Python sắp xếp[] Cập nhật
Chức năng sorted[]
tích hợp sẵn của Python có thể được sử dụng để sắp xếp các đối tượng có thể lặp lại theo 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 lặp đượ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
Đây là cú pháp của phương thức sorted[]
đã sắp xếp [đối tượng, khóa, đảo ngược]
Phương thức nhận ba tham số
- mục tiêu. đối tượng có thể lặp lại mà bạn muốn sắp xếp [bắt buộc]
- Chìa khóa. chức năng cho phép bạn thực hiện các thao tác sắp xếp tùy chỉnh [tùy chọn]
- đảo ngược. chỉ định liệu đối tượng có được sắp xếp theo thứ tự giảm dần hay không [tùy chọn]
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ố bắt buộc duy nhấ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
Ghi chú. Career Karma đã viết một hướng dẫn đầy đủ về các phương thức sort[] và sort[] trong Python. Nếu bạn đang muốn tìm hiểu thêm về phương thức 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 sort[] của chúng tôi
Hãy xem qua một ví dụ nhanh để minh họa cách thức hoạt động của phương thức sorted[].
» THÊM. Lỗi loại Python. Đối tượng ‘float’ không thể hiểu là số nguyên Giải pháp
Giả sử rằng chúng tôi đang điều hành một quán cà phê và chúng tôi muốn truy xuất danh sách theo thứ tự bảng chữ cái gồm ______2_______7 khách hàng [trung thành] của chúng tôi. Chúng tôi đã có danh sách khách hàng, nhưng nó được sắp xếp theo ngày đăng ký. Chúng tôi có thể sử dụng đoạn 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
Ở dòng đầu tiên của mã, chúng tôi khai báo một danh sách lưu tên khách hàng của chúng tôi; . khách hàng. Sau đó, chúng tôi sử dụng phương pháp sorted[]
để sắp xếp danh sách tên khách hàng theo thứ tự tăng dần; .
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 danh sách vừa được sắp xếp ra bàn đ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 từ điển theo giá trị
Giả sử bạn có một từ điển và bạn muốn sắp xếp nó theo các cặp khóa-giá trị. 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]]3và
sorted[]
. 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]]3 cho phép bạn truy xuất các mục trong từ điển. Chúng ta có thể sử dụng hàm 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ị. 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ũng như số lượng từng mặt hàng được đặt hàng trong tháng trước. Chúng tôi muốn xem loại cà phê phổ biến nhất trong tháng trước, vì vậy chúng tôi quyết định sắp xếp từ điển thứ tự theo thứ tự giá trị giảm dần
Đây là một chương trình chúng ta 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
» THÊM. Lỗi chỉ mục Python. danh sách chỉ mục gán nằm ngoài phạm vi Giải pháp
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 ta, vì vậy hãy chia nhỏ nó ra.
Khi bắt đầu mã của chúng tôi, chúng tôi xác định một từ điển có tên 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ác loại cà phê dưới dạng khóa và số lượng được bán dưới dạng giá trị
Sau đó, chúng tôi sử dụng phương pháp 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ị. Dưới đây là bảng phân tích về cách chúng tôi sử dụng phương pháp
sorted[]
"Career Karma bước vào cuộc đời tôi khi tôi cần nó nhất và nhanh chóng giúp tôi phù hợp với bootcamp. Hai tháng sau khi tốt nghiệp, tôi đã tìm được công việc mơ ước phù hợp với giá trị và mục tiêu của mình trong cuộc sống. "
Venus, Kỹ sư phần mềm tại Rockbot
Find Your Bootcamp MatchTham sốVăn bảnMô tảđơn hàng đối tượng. items[] Đề cập đến tất cả các giá trị trong từ điển "đơn đặt hàng" của chúng tôi. Nếu chúng tôi chỉ sử dụng "đơn đặt hàng", chúng tôi sẽ phải tham chiếu vị trí chỉ mục của mặt hàng để nhận giá trị riêng lẻ của nó. Trong khi đó nếu chúng ta sử dụng các đơn đặt hàng. 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. keykey=lambda x. x[1]Một cơ chế sắp xếp cho phép chúng tôi sắp xếp từ điển của mình theo giá trị. Đây là một ví dụ về hàm Lambda, là một hàm không có tên. reversereverse=TrueBiểu thị rằng chúng tôi muốn dữ liệu của mình được sắp xếp theo thứ tự giảm dầnCuố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 phương phá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]]8 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ự mà 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]]8
ví dụ 2. Sắp xếp tăng dần
Tương tự, nếu chúng ta muốn tìm ra loại đồ uống ít phổ biến nhất được bán tại quán cà phê của mình, chúng ta có thể sử dụng mã tương tự như trên nhưng không có tham số sorted[]
0. Đây là 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ề
» THÊM. Python Median[] - Hướng dẫn thống kê Python
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ả về một danh sách các mặt hàng được sắp xếp theo thứ tự tăng dần, dựa trên số lượng từng mặt hàng đượ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 khả năng hiểu danh sách để sắp xếp nội dung từ điển theo giá trị. Hiểu danh sách là một kỹ thuật ngắn gọn để tạo danh sách trong Python và có thể tiết kiệm dung lượng nếu bạn đang tạo các phương thức sắp xếp phức tạp hơn
Đây là 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 thứ tự tăng dần theo số lượng của mỗi loại cà phê được đặt hàng bằng cách sử dụng tính năng hiểu danh sách
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 danh sách
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 thứ tự tăng dần. Nhưng thay vì xác định một biến
sorted[]
2 và 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 riêng biệt để lặp qua danh sách đã sắp xếp, chúng tôi đã tạo một danh sách bằng cách sử dụng kỹ thuật hiểu danh sách
Khả năng hiểu danh sách mà chúng tôi đã tạo ở trên sắp xếp 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 ra bảng điều khiển
Phần kết luận
Khi bạn đang 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 thao tác phổ biến. Phương pháp 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 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]]6và
sorted[]
7. Bây giờ bạn đã sẵn sàng để bắt đầu sắp xếp từ điển theo giá trị như một chuyên gia Python
Về chúng tôi. Career Karma là một nền tảng được thiết kế để giúp người tìm việc tìm kiếm, nghiên cứu và kết nối với các chương trình đào tạo việc làm để thăng tiến trong sự nghiệp của họ. Tìm hiểu về ấn phẩm CK