Hướng dẫn how do you sort a dictionary in ascending order python? - làm thế nào để bạn sắp xếp một từ điển theo thứ tự tăng dần python?

Cập nhật lần cuối vào ngày 19 tháng 8 năm 2022 21:51:49 (UTC/GMT +8 giờ)

Từ điển Python: Bài tập-1 với giải pháp

Viết một chương trình Python để sắp xếp (tăng dần và giảm dần) một từ điển theo giá trị.

Giải pháp mẫu-1:

Mã Python:

import operator
d = {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
print('Original dictionary : ',d)
sorted_d = sorted(d.items(), key=operator.itemgetter(1))
print('Dictionary in ascending order by value : ',sorted_d)
sorted_d = dict( sorted(d.items(), key=operator.itemgetter(1),reverse=True))
print('Dictionary in descending order by value : ',sorted_d)

Đầu ra mẫu:

Original dictionary :  {1: 2, 3: 4, 4: 3, 2: 1, 0: 0}
Dictionary in ascending order by value :  [(0, 0), (2, 1), (1, 2), (4, 3), (3, 4)]
Dictionary in descending order by value :  {3: 4, 4: 3, 1: 2, 2: 1, 0: 0}

Trực quan hóa 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 hiện chương trình đã nói:

Giải pháp mẫu-2:

Lưu ý: Giá trị từ điển phải cùng loại.

  • Sử dụng Dict.Items () để có được danh sách các cặp Tuple từ D và sắp xếp nó bằng hàm Lambda và Sắp xếp ().
  • Sử dụng Dict () để chuyển đổi danh sách được sắp xếp trở lại từ điển.
  • Sử dụng tham số ngược trong Sắp xếp () để sắp xếp từ điển theo thứ tự ngược lại, 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}

Flowchart:

Hướng dẫn how do you sort a dictionary in ascending order python? - làm thế nào để bạn sắp xếp một từ điển theo thứ tự tăng dần python?

Trực quan hóa 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 hiện chương trình đã nói:

Giải pháp mẫu-2:

Lưu ý: Giá trị từ điển phải cùng loại.

Sử dụng Dict.Items () để có được danh sách các cặp Tuple từ D và sắp xếp nó bằng hàm Lambda và Sắp xếp (). Python Dictionary Exercise Home.
Next: Write a Python program to add a key to a dictionary.

Trang chủ »Python

Sắp xếp một từ điển trong Python: Ở đây, chúng ta sẽ học cách sắp xếp một từ điển theo thứ tự tăng dần và giảm dần theo khóa hoặc giá trị? Được gửi bởi Yash Khandelwal, vào ngày 28 tháng 3 năm 2019 Here, we are going to learn how to sort a dictionary in ascending and descending order by key or value?
Submitted by Yash Khandelwal, on March 28, 2019

Báo cáo sự cố: Viết một chương trình Python để sắp xếp (tăng dần và giảm dần) một từ điển theo khóa hoặc giá trị. Write a Python program to sort (ascending and descending) a dictionary by key or value.

Example:

    Input: 
    dictionary = {'carl':40,'alan':2,'bob':1,'danny':3}

    Output:
    Ascending order is  {'alan': 2, 'bob': 1, 'carl':40), 'danny':3}
    Descending order is {'danny': 3, 'carl': 40, 'bob': 1, 'alan':2}

Algorithm:

  1. Lấy một từ điển.
  2. Chuyển đổi nó trong một danh sách.
  3. Bây giờ sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần.
  4. Chuyển đổi một lần nữa danh sách được sắp xếp thành từ điển.
  5. Đầu ra in

Mã Python để sắp xếp một từ điển theo thứ tự tăng dần và giảm dần

#you can take the input as integers also this'
#will work for that also for eg:{1:2,3:4,4:3,2:1,0:0}
y={'carl':40,'alan':2,'bob':1,'danny':3} 
                                         
l=list(y.items())   #convet the given dict. into list
#In Python Dictionary, items() method is used to return the list
#with all dictionary keys with values.
l.sort()            #sort the list
print('Ascending order is',l) #this print the sorted list 

l=list(y.items())
l.sort(reverse=True) #sort in reverse order
print('Descending order is',l)

dict=dict(l) # convert the list in dictionary 

print("Dictionary",dict) #the desired output is this sorted dictionary

Đầu ra

Ascending order is [('alan', 2), ('bob', 1), ('carl', 40), ('danny', 3)]
Descending order is [('danny', 3), ('carl', 40), ('bob', 1), ('alan', 2)]
Dictionary {'bob': 1, 'carl': 40, 'alan': 2, 'danny': 3}

Giải thích về mã:

Trong đó, chúng ta chỉ học cách sắp xếp từ điển theo khóa hoặc giá trị. Vì vậy, để làm điều này, cách tiếp cận tốt nhất là chuyển đổi toàn bộ từ điển thành một danh sách. Để chuyển đổi điều này, chúng tôi đã sử dụng l = list (y.items ()) nàyl=list(y.items())

Một chức năng quan trọng ở đây là các mục (). Cái này là cái gì?items(). What is this?

Vì vậy, trong từ điển Python, phương thức Item () được sử dụng để trả về danh sách với tất cả các khóa từ điển có giá trị.items() method is used to return the list with all dictionary keys with values.

Bây giờ sau đó, chúng tôi sử dụng hàm sắp xếp, tức là l.sort ()l.sort()

Điều nào sắp xếp danh sách và sau một điều là quan trọng để chuyển đổi lại danh sách thành từ điển của dict = dict (l)dict=dict(l)

Vì vậy, sau đó, chúng tôi sẽ nhận được từ điển được sắp xếp theo thứ tự tăng dần.

Để làm tất cả những điều này theo thứ tự giảm dần chỉ cần làm một việc, tức là thay vì l.sort ()l.sort()

Sử dụng l.sort (đảo ngược = true) Bạn sẽ nhận được từ điển được sắp xếp theo thứ tự giảm dần.l.sort(reverse=True) You will get the sorted dictionary in descending order.

Làm thế nào để bạn sắp xếp một từ điển bằng cách tăng giá trị trong Python?

Đảo ngược với giá trị của True sẽ sắp xếp từ điển được sắp xếp theo thứ tự giảm dần. Bạn có thể thấy đầu ra bị đảo ngược vì chúng tôi đã chuyển ngược lại = true với phương thức Sắp xếp (). Nếu bạn không đặt ngược lại hoặc bạn đặt giá trị của nó thành sai, từ điển sẽ được sắp xếp theo thứ tự tăng dần.. You can see the output is reversed because we passed reverse=True to the sorted() method. If you don't set reverse at all or you set its value to false, the dictionary will be arranged in ascending order.

Làm thế nào để bạn sắp xếp một từ điển theo thứ tự tăng dần?

Sắp xếp một từ điển theo thứ tự tăng dần và giảm dần theo khóa hoặc giá trị trong Python..
Lấy một từ điển ..
Chuyển đổi nó trong một danh sách ..
Bây giờ sắp xếp danh sách theo thứ tự tăng dần hoặc giảm dần ..
Chuyển đổi lại danh sách được sắp xếp thành từ điển ..
Đầu ra in ..

Làm thế nào để bạn sắp xếp một từ điển trong Python?

Để sắp xếp từ điển theo giá trị trong Python, bạn có thể sử dụng hàm Sắp xếp ().Hàm Sắp xếp () 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.Sắp xếp () lấy 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ự.

Làm thế nào để bạn sắp xếp một từ điển từ thấp nhất đến cao nhất trong Python?

Sắp xếp từ điển theo các mục giá trị () cho hàm tích hợp được sắp xếp () và đặt đối số khóa từ khóa sắp xếp của nó thành hàm lambda.Chúng tôi cũng đã đặt đối số từ khóa đảo ngược = true để điểm số được sắp xếp theo thứ tự giảm dần từ cao nhất đến thấp nhất.Lưu ý: Nếu bạn đang sử dụng Python 2. X, bạn có thể vượt qua điểm số.items() to the sorted() built-in function and set its sorting key keyword argument to a lambda function. We've also set the reverse=True keyword argument so that the scores are sorted in descending order from highest to lowest. Note: If you're using Python 2. x you can pass scores.