Từ điển Python là tập hợp dữ liệu được lưu trữ ở dạng khóa-giá trị. Mỗi khóa được liên kết với giá trị của nó. Về bản chất, nó có thể thay đổi, có nghĩa là chúng ta có thể thay đổi dữ liệu sau khi tạo
Đó là tập hợp dữ liệu không theo thứ tự và cho phép lưu trữ các giá trị trùng lặp, nhưng khóa phải là duy nhất
Từ điển được khai báo bằng dấu ngoặc nhọn {} và cặp khóa-giá trị được phân tách bằng dấu phẩy
đầu ra
Tại sao cần sắp xếp từ điển
- Độ phức tạp thời gian tìm kiếm của danh sách là O[n] và từ điển có độ phức tạp thời gian tìm kiếm 0[1], điều này làm cho từ điển nhanh hơn danh sách. Từ điển có thể được sử dụng thay thế cho danh sách bất cứ khi nào nó cần
- Việc sắp xếp cho phép chúng tôi phân tích dữ liệu một cách hiệu quả khi chúng tôi đang làm việc với cấu trúc dữ liệu
- Một từ điển được sắp xếp cung cấp sự hiểu biết tốt hơn để xử lý các hoạt động phức tạp
Hãy hiểu các cách khác nhau để sắp xếp từ điển
- Sắp xếp theo phím
- Sắp xếp theo giá trị
- thuật toán sắp xếp
- Đảo ngược thứ tự sắp xếp
Sắp xếp theo khóa và giá trị
Python cung cấp các hàm keys[] và values[] tích hợp sẵn để sắp xếp từ điển. Nó lấy bất kỳ iterable nào làm đối số và trả về danh sách các khóa đã được sắp xếp. Chúng ta có thể sử dụng các phím để sắp xếp từ điển theo thứ tự tăng dần. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
[1, 2, 3, 4, 5, 6] [[1, 'Alice'], [2, 'John'], [3, 'Andrew'], [4, 'Peter'], [5, 'Chris'], [6, 'Ruffalo']]
Giải trình -
Trong đoạn mã trên, chúng tôi đã khai báo một tên từ điển. Chúng tôi đã sử dụng chức năng tích hợp cùng với chức năng sorted[] trả về danh sách các khóa được sắp xếp. Tiếp theo, chúng ta sử dụng hàm items[] để lấy từ điển theo thứ tự đã sắp xếp
thuật toán sắp xếp
Có nhiều thuật toán sắp xếp khác nhau để sắp xếp một từ điển; . Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
{'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'} ['one', 'two', 'three', 'five', 'six', 'seven'] ['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday']
Đảo ngược thứ tự đã sắp xếp
Từ điển có thể được đảo ngược bằng cách sử dụng đối số đảo ngược. Hãy hiểu ví dụ sau
Ví dụ -
đầu ra
Trong hướng dẫn này, chúng ta đã thảo luận về cách sắp xếp từ điển trong Python. Một từ điển được sắp xếp dễ dàng xử lý lượng dữ liệu lớn và cho chúng ta kết quả tìm kiếm nhanh
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.
Tiếp theo. 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
con trăn. Lời khuyên trong ngày
Lambda
Lambda giống như một chức năng nhỏ một dòng do người dùng định nghĩa. Khi bạn có một chức năng không quá phức tạp và có thể được thực hiện dưới dạng lambda, việc nhập nó trong 1 dòng đơn giản sẽ thuận tiện hơn nhiều. Làm cho bạn nhận ra mức độ thực tế của Python