Chúng ta có thể sắp xếp thư mục bằng các khóa trong Python không?

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à bộ sưu tậ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

Trong bài viết này chúng ta sẽ tìm hiểu từ điển là gì và sự cần thiết của việc sắp xếp từ điển. Sau này, chúng ta sẽ hiểu cách sắp xếp từ điển theo giá trị và theo khóa cùng với ví dụ và đầu ra tương ứng. Vậy hãy bắt đầu

Từ điển là gì?

Từ điển là một trong những cấu trúc dữ liệu trong ngôn ngữ python. Từ điển là tập hợp thứ tự các mục dữ liệu được lưu trữ dưới dạng bản đồ, không giống bất kỳ loại dữ liệu nào khác. Từ điển lưu trữ dữ liệu ở dạng cặp khóa-giá trị giúp thu thập dữ liệu được tối ưu hóa hơn. Hãy nhớ rằng các phím trong từ điển không cho phép lặp lại. Do đó, các mục từ điển được sắp xếp theo thứ tự, có thể thay đổi và không cho phép trùng lặp

Chúng tôi có thể truy xuất các mục dữ liệu trong từ điển bằng tên khóa tương ứng. Chúng ta có thể định nghĩa từ điển bằng danh sách các cặp khóa-giá trị được phân tách bằng dấu phẩy giữa các dấu ngoặc nhọn [{}]

Khóa và giá trị bên trong từ điển được phân tách bằng dấu hai chấm [. ] giữa khóa và giá trị tương ứng. Hãy nhớ rằng khóa phải là một phần tử duy nhất trong khi giá trị có thể thuộc bất kỳ loại dữ liệu nào.  

Cần sắp xếp trong từ điển

Việc sắp xếp dữ liệu rất quan trọng khi chúng ta đang xử lý một lượng lớn dữ liệu. Rất khó để có được đầu ra mong muốn một cách nhanh chóng và hiệu quả khi bộ sưu tập dữ liệu rất lớn. Trong những trường hợp như vậy, chúng ta có thể 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 theo chuỗi số hoặc chuỗi bảng chữ cái để có kết quả nhanh chóng.

Ví dụ: hãy xem xét danh bạ của bạn trên điện thoại di động, chi tiết liên hệ của mọi người được lưu trữ với tên dưới dạng khóa không được lặp lại tên và chúng được sắp xếp theo thứ tự bảng chữ cái để có các kỹ thuật tìm kiếm hiệu quả

Do đó, khi bạn muốn tìm kiếm chi tiết liên lạc của một người có tên cụ thể, bạn chuyển đến chữ cái đầu tiên của tên trong danh bạ và giảm thời gian cũng như công sức của bạn bằng cách đi qua từng chi tiết liên lạc trong danh bạ của bạn. Qua ví dụ này, chúng ta có thể nói rằng việc sắp xếp từ điển không chỉ quan trọng đối với mục đích lập trình mà còn rất quan trọng trong cuộc sống hàng ngày của chúng ta.  

Sắp xếp từ điển theo giá trị trong Python

Như chúng ta đều biết rằng từ điển chứa các cặp khóa và giá trị, do đó, có tổng cộng 3 phương pháp để chúng ta có thể sắp xếp từ điển bằng cách sử dụng thành phần giá trị. Hãy để chúng tôi hiểu chi tiết ba phương pháp dưới đây

1] Sử dụng vòng lặp

Chúng ta có thể sử dụng phương thức sorted[] của python cùng với vòng lặp for để sắp xếp từ điển trong python bằng giá trị. Trong phương thức, trước tiên chúng ta tạo danh sách các khóa từ điển và sắp xếp danh sách các khóa bằng cách sử dụng phương thức sorted[] cùng với chúng trong một vòng lặp. Đầu ra sẽ là từ điển được sắp xếp như trong ví dụ dưới đây

Chúng ta có thể sắp xếp từ điển trong python với sự trợ giúp của thư viện NumPy. Trong ví dụ dưới đây, chúng tôi nhập thư viện python NumPy và sắp xếp các giá trị của từ điển bằng phương thức 'argsort' trong thư viện NumPy. Sau đó, chúng tôi tạo danh sách các khóa từ điển bằng phương thức list[] và sắp xếp từ điển bằng cách kết hợp nó với phương thức sorted[] để lấy các giá trị của từ điển. Cuối cùng, chúng tôi sử dụng vòng lặp for để lấy từ điển được sắp xếp như đầu ra được đưa ra bên dưới.  

Ví dụ

import numpy as np

dictionary = { 'A':1,'ABC':3,'ABCD':4,'AB':2 }
print["Dictionary: ", dictionary]
sorted_value_index = np.argsort[dictionary.values[]]
dictionary_keys = list[dictionary.keys[]]
sort_dictionary = {dictionary_keys[i]:sorted[dictionary.values[]][i] for i in range[len[dictionary_keys]]}
print["Sorted Dictionary by value: ", sort_dictionary]

 

đầu ra

Dictionary:  {'A': 1, 'ABC': 3, 'ABCD': 4, 'AB': 2}
Sorted Dictionary by value:  {'A': 1, 'ABC': 2, 'ABCD': 3, 'AB': 4}

 

2] Sử dụng chức năng lambda

Phương thức sorted[] của Python cùng với hàm lambda có thể được sử dụng để sắp xếp từ điển theo giá trị trong python theo thứ tự được xác định trước. Ở đây hàm lambda trong python tạo một hàm ẩn danh giúp tối ưu code. Cú pháp của hàm lambda sẽ như dưới đây

đối số lambda. sự biểu lộ

 

Ví dụ

 

dictionary = { 'A':1,'ABC':3,'ABCD':4,'AB':2 }
print["Dictionary: ", dictionary]
sort_dictionary= dict[sorted[dictionary.items[], key=lambda item: item[1]]] 
print["Sorted Dictionary by value: ", sort_dictionary]

 

 

đầu ra

 

Dictionary:  {'A': 1, 'ABC': 3, 'ABCD': 4, 'AB': 2}
Sorted Dictionary by value:  {'A': 1, 'AB': 2, 'ABC': 3, 'ABCD': 4}

 

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

Trong phương thức này, chúng ta sẽ sử dụng các phương thức items[] để sắp xếp từ điển cùng với phương thức sorted[] trong python. Phương thức sẽ sắp xếp từ điển theo các giá trị của nó và trả về từ điển đã sắp xếp như hình bên dưới

Ví dụ

from operator import itemgetter
dictionary = { 'A':1,'ABC':3,'ABCD':4,'AB':2 }
print["Dictionary: ", dictionary]
sort_dict= dict[sorted[dictionary.items[], key=itemgetter[1]]] 
print["Sorted Dictionary by value: ", sort_dict]

 

đầu ra

Dictionary:  {'A': 1, 'ABC': 3, 'ABCD': 4, 'AB': 2}
Sorted Dictionary by value:  {'A': 1, 'AB': 2, 'ABC': 3, 'ABCD': 4}

 

Sắp xếp từ điển theo khóa trong Python

Ngoài việc sắp xếp từ điển bằng các giá trị, chúng ta cũng có thể sắp xếp từ điển bằng thành phần khóa. Dưới đây là 3 phương pháp sắp xếp từ điển bằng các phím

1] Sử dụng vòng lặp

Chúng ta có thể sắp xếp từ điển trong python bằng cách sử dụng các phím với sự trợ giúp của phương thức keys[] và vòng lặp. Tại đây, các khóa được tách khỏi từ điển bằng phương thức keys[] và sau đó được sắp xếp với sự trợ giúp của vòng lặp for. Kết quả là, chúng tôi nhận được từ điển được sắp xếp làm đầu ra giống như trong ví dụ bên dưới

Ví dụ

________số 8

 

đầu ra

{'alice': '90', 'emma': '22', 'john': '1', 'rook': '45', 'roz': '11'}

 

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

Chúng ta cũng có thể sắp xếp từ điển trong python bằng phương thức sorted[]. Ở đây, chúng tôi gọi phương thức đã sắp xếp cho từ điển đã cho và sau đó sắp xếp nó bằng cách sử dụng vòng lặp for cho các khóa đã cho như trong ví dụ bên dưới

Ví dụ

{'one': 'Monday', 'six': 'Saturday', 'three': 'Wednesday', 'two': 'Tuesday', 'five': 'Friday', 'seven': 'Sunday'}
['one', 'two', 'three', 'five', 'six', 'seven']
['Monday', 'Tuesday', 'Wednesday', 'Friday', 'Saturday', 'Sunday']
0

 

đầu ra

{'alice': '90', 'emma': '22', 'john': '1', 'rook': '45', 'roz': '11'}

 

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

Chúng ta có thể sắp xếp từ điển bằng các khóa với sự trợ giúp của phương thức items[]. Chúng tôi gọi từ điển cho phương thức sorted[] và sau đó sử dụng từ điển. items[] để sắp xếp từ điển theo các phím như trong ví dụ bên dưới

Ví dụ

Dictionary:  {'A': 1, 'ABC': 3, 'ABCD': 4, 'AB': 2}
Sorted Dictionary by value:  {'A': 1, 'ABC': 2, 'ABCD': 3, 'AB': 4}
0

 

đầu ra

{'alice': '90', 'emma': '22', 'john': '1', 'rook': '45', 'roz': '11'}

 

Phần kết luận

Từ điển trong python thường được sử dụng để lưu trữ bộ sưu tập lớn dữ liệu được sắp xếp và ánh xạ chúng bằng các cặp khóa-giá trị. Sắp xếp từ điển trong python giúp truy xuất đầu ra mong muốn một cách hiệu quả và do đó, trong bài viết trên, chúng tôi đã đề cập đến các phương pháp khác nhau để sắp xếp từ điển trong python bằng cách sử dụng các khóa từ điển cũng như sử dụng các giá trị từ điển.  

Chúng ta có thể sắp xếp từ điển bằng các khóa trong Python không?

Python cung cấp các hàm keys[] và hàm 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.

Chúng ta có thể sắp xếp một từ điển với các phím?

Từ điển được tạo thành từ khóa. cặp giá trị. Do đó, chúng có thể được sắp xếp theo khóa hoặc theo giá trị .

Khóa hoạt động như thế nào trong sắp xếp Python?

Sắp xếp tùy chỉnh với khóa= . Ví dụ: với một danh sách các chuỗi, chỉ định key=len [hàm len[] tích hợp] sắp xếp các chuỗi theo độ dài, từ ngắn nhất đến dài nhất. The key function takes in 1 value and returns 1 value, and the returned "proxy" value is used for the comparisons within the sort. For example with a list of strings, specifying key=len [the built in len[] function] sorts the strings by length, from shortest to longest.

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

Để sắp xếp danh sách từ điển theo giá trị của khóa cụ thể, chỉ định tham số khóa của phương thức sort[] hoặc hàm sorted[]. By specifying a function to be applied to each element of the list, it is sorted according to the result of that function.

Chủ Đề