Cách sắp xếp từ điển trong Python mà không cần chức năng sắp xếp

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

Làm cách nào tôi có thể sắp xếp từ điển bằng Python?

Cách sắp xếp từ điển bằng phương thức sorted[] .
chuyển từ điển sang phương thức sorted[] làm giá trị đầu tiên
sử dụng phương thức items[] trên từ điển để truy xuất các khóa và giá trị của nó
viết hàm lambda để lấy các giá trị được truy xuất bằng phương thức item[]

Làm cách nào để sắp xếp từ điển Python theo khóa?

Cần sắp xếp trong từ điển .
Đầu tiên, sắp xếp các khóa theo thứ tự abc bằng key_value. hàm iterkey[]
Thứ hai, sắp xếp các khóa theo thứ tự bảng chữ cái bằng hàm đã sắp xếp [giá trị khóa] và in giá trị tương ứng với nó
Thứ ba, sắp xếp các giá trị theo thứ tự abc bằng key_value. iteritems[], key = lambda [k, v]. [v, k]]

Các cách khác nhau để sắp xếp từ điển là gì?

Hãy tìm 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

Tại sao chúng tôi không thể sắp xếp từ điển trong Python?

Khái niệm sắp xếp chỉ áp dụng cho một tập hợp có thứ tự—nói cách khác, một chuỗi. Một ánh xạ, chẳng hạn như từ điển, không có thứ tự nên không thể sắp xếp.

Chủ Đề