Làm thế nào để bạn sắp xếp một từ điển theo giá trị tăng dần trong python?

Từ điển là một bộ sưu tập không có thứ tự, có thể thay đổi và được lập chỉ mục. Trong Python, từ điển được viết bằng dấu ngoặc nhọn và chúng có các khóa và giá trị. Chúng ta có thể truy cập các giá trị của từ điển bằng cách sử dụng các phím. Trong bài viết này, 10 cách khác nhau để sắp xếp từ điển Python theo giá trị và cũng sắp xếp ngược lại theo giá trị sẽ được thảo luận

Sử dụng hàm lambda cùng với items[] và sorted[]. Hàm lambda trả về khóa [phần tử thứ 0] cho một bộ mục cụ thể, Khi chúng được chuyển đến phương thức sorted[], nó trả về một chuỗi đã sắp xếp, sau đó được nhập vào từ điển. keys[] phương thức trả về một đối tượng xem hiển thị danh sách tất cả các khóa trong từ điển. sorted[] được sử dụng để sắp xếp các khóa của từ điển

ví dụ

Đầu vào. my_dict = {2. 'ba', 1. ‘hai’} 
Đầu ra. [[2, 'ba'], [1, 'hai']] 

Dưới đây là cách triển khai bằng hàm lambda

Python3




Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
7

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
8

 

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
9

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
0
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
1
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
2
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
91
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
4
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
93
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
6
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
95
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
4
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
97
Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
6

Trong hướng dẫn này, chúng tôi xem xét các phương pháp khác nhau để sắp xếp từ điển theo giá trị trong Python. Chúng tôi sẽ hiểu lý do tại sao nó được yêu cầu và làm thế nào để làm như vậy

Mục lục - Python sắp xếp từ điển theo giá trị

  • Tại sao chúng ta cần sắp xếp từ điển Python?
  • Các phương pháp khác nhau để sắp xếp từ điển theo giá trị trong Python
    • Bằng cách chuyển đổi dữ liệu trong từ điển sang danh sách
      • Sử dụng Sắp xếp bong bóng
      • Sử dụng phương thức sorted[]
      • Sử dụng Phương thức itemgetter[]
      • sử dụng chính tả. Các hàm item[] và sorted[]
    • Bằng cách thực hiện các thao tác trực tiếp trên từ điển
      • Sử dụng vòng lặp for
      • Sử dụng hàm sorted[]
      • Sử dụng Hàm Lambda
      • Sử dụng từ điển. item[] Phương thức
  • Bớt tư tưởng

Tại sao chúng ta cần sắp xếp từ điển Python theo giá trị?

Trong Python, từ điển lưu trữ dữ liệu không có thứ tự chứa "key. value" được phân tách bằng dấu phẩy bên trong dấu ngoặc nhọn. Lớp từ điển Python không cho phép sắp xếp để sắp xếp các mục trong đối tượng của nó. Chúng tôi có thể truy xuất các giá trị khi khóa tồn tại và được biết

Hãy xem xét một lượng dữ liệu khổng lồ trong từ điển Python. Trong trường hợp này, để giảm độ phức tạp của việc thu thập dữ liệu bằng cách sắp xếp dữ liệu sẽ dẫn đến kết quả nhanh chóng. Do đó, để tiết kiệm thời gian và tăng hiệu quả đối với dữ liệu lớn, chẳng hạn như danh bạ, chúng ta cần sắp xếp từ điển Python

Chúng ta có thể sắp xếp từ điển bằng danh sách và thực hiện sắp xếp trên danh sách. Hãy để chúng tôi xem những cách khác nhau để làm điều này

Các phương pháp khác nhau để sắp xếp từ điển theo giá trị trong Python

Bằng cách chuyển đổi dữ liệu trong từ điển sang danh sách

Trước tiên chúng ta sẽ xem xét cách chuyển đổi dữ liệu trong từ điển thành danh sách. Sau đó, chúng tôi thực hiện sắp xếp danh sách để sắp xếp từ điển Python

Ví dụ-

markdict={"Tom":67, "Tina": 54, "Akbar": 87, "Kane": 43, "Divya":73}
marklist=list[markdict.items[]]
print[marklist]

Đầu ra-

________số 8

Ở đây, chúng tôi đang chuyển đổi từ điển thành danh sách bằng cách sử dụng hàm list[]. Khi danh sách đã sẵn sàng, chúng ta có thể thực hiện các thao tác trên nó để có được kết quả mong muốn trên từ điển

Sử dụng Sắp xếp bong bóng

Ví dụ -

markdict={"Tom":67, "Tina": 54, "Akbar": 87, "Kane": 43, "Divya":73}
l=len[marklist]
  for i in range[l-1]:
    for j in range[i+1,l]:
      if marklist[i][1]>marklist[j][1]:
            t=marklist[i]
            marklist[i]=marklist[j]
            marklist[j]=t
    sortdict=dict[marklist]print[sortdict]

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
0

Trong ví dụ này, chúng tôi sử dụng Sắp xếp bong bóng đơn giản bằng cách sử dụng biến tạm thời t và sắp xếp các giá trị trong danh sách

Sử dụng phương thức sorted[]

Hàm sorted[] trong Python trả về danh sách đã sắp xếp từ các lần lặp đã chỉ định và trả về danh sách các mục đã sắp xếp

Cú pháp-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
1

Ví dụ-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
2

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
3

Ở đây, trong hàm sorted[], iterable là markdict. các mục và khóa được đặt là lambda x. x[1]. Sau khi sắp xếp các mục, chúng tôi tạo một sortdict từ điển mới để gọi dữ liệu được sắp xếp

Sử dụng Phương thức itemgetter[]

Trong Python, hàm itemgetter[] trả về một đối tượng có thể gọi được từ toán hạng của nó. Sử dụng hàm itemgetter[] với hàm sorted[] sẽ trả về các mục được sắp xếp trong từ điển theo giá trị

Ví dụ-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
4

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
3

người điều hành. Hàm itemgetter[item] trả về một đối tượng có thể gọi được để tìm nạp mục từ toán hạng của nó bằng cách sử dụng phương thức __getitem__[] của toán hạng

sử dụng chính tả. Các hàm item[] và sorted[]

mệnh lệnh. Phương thức items[] và hàm sorted[] có thể được sử dụng cùng nhau để trả về danh sách các mục được sắp xếp theo giá trị trong từ điển

Ví dụ-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
6

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
3

Trong ví dụ trên, chúng ta sắp xếp từ điển bằng hàm sorted[] và tạo một bộ sắp xếp từ điển mới với các giá trị được sắp xếp

Bằng cách thực hiện các thao tác trực tiếp trên từ điển

Từ điển Python cũng có thể được sắp xếp mà không cần chuyển đổi các mục thành danh sách. Dưới đây là những cách để làm điều đó

Sử dụng vòng lặp for 

Bằng cách sử dụng vòng lặp for cùng với hàm sorted[] trong Python, chúng ta có thể sắp xếp từ điển theo giá trị. Đây là một ví dụ cho cùng

Ví dụ-

[['Tom', 67], ['Tina', 54], ['Akbar', 87], ['Kane', 43], ['Divya', 73]]
1

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
3

Ở đây, đầu tiên chúng ta sử dụng hàm sort[] để sắp xếp thứ tự các giá trị của từ điển. Hàm sorted[] không sắp xếp lại từ điển tại chỗ, do đó, chúng tôi lưu trữ giá trị của nó trong sorted_values. 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ị. Điều này cuối cùng đã được thêm vào từ điển mới sorted_dict[k]

Sử dụng Hàm sắp xếp[]

Ví dụ-

[['Tom', 67], ['Tina', 54], ['Akbar', 87], ['Kane', 43], ['Divya', 73]]
3

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
3

Trong ví dụ này, chúng tôi sử dụng phím chức năng trên từng phần tử trước khi so sánh các giá trị để sắp xếp. Một chức năng khác được sử dụng ở đây là get[] để trả về các giá trị tương ứng với khóa của từ điển. Như vậy, hàm sorted[dict1, key=dict1. get] trả về danh sách các khóa có giá trị được sắp xếp

Sử dụng Hàm Lambda

Chúng ta có thể sử dụng hàm Python sorted[] với hàm lambda để sắp xếp từ điển theo giá trị. Cú pháp của hàm lambda như sau

Cú pháp-

[['Tom', 67], ['Tina', 54], ['Akbar', 87], ['Kane', 43], ['Divya', 73]]
5

Ví dụ-

[['Tom', 67], ['Tina', 54], ['Akbar', 87], ['Kane', 43], ['Divya', 73]]
6

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
3

Sử dụng từ điển. item[] Phương thức

Phương thức items[] có thể sắp xếp từ điển theo giá trị và trả về giá trị đã sắp xếp. Dưới đây là ví dụ về cách chúng ta có thể sử dụng phương pháp này

Ví dụ-

[['Tom', 67], ['Tina', 54], ['Akbar', 87], ['Kane', 43], ['Divya', 73]]
8

Đầu ra-

Sorted dictionary is :
[[1, 'a'], [2, 'b'], [3, 'c'], [4, 'd']]
3

Trong ví dụ này, chúng ta sử dụng hàm sorted[], set iterable là dictionary. items[] và key là key=itemgetter[1] để lấy các giá trị đã sắp xếp của từ điển

Bớt tư tưởng

Chúng ta có thể sắp xếp từ điển Python theo các giá trị theo hai cách. Một là bằng cách chuyển đổi dữ liệu từ điển thành danh sách và sau đó sắp xếp danh sách. Một cách khác là sắp xếp từ điển trực tiếp

Làm cách nào để sắp xếp một từ điển trong Python theo các giá trị theo thứ tự giảm dần?

Trực quan hóa quá trình thực thi mã Python. .
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

Có cách nào để sắp xếp từ điển trong Python khô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 pháp sắp xếp tùy chỉnh. sorted[] nhận 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ự.

Chủ Đề