Sắp xếp khóa và giá trị trong từ điển Python

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

Thí 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

Thí 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

Thí 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

Ngôn ngữ lập trình Python bao gồm các kiểu dữ liệu nguyên thủy như list, dictionary, set, tuple, v.v. Nó cũng đi kèm với một mô-đun bộ sưu tập có cấu trúc dữ liệu chuyên biệt như ChainMap, deque, v.v. Làm việc với các kiểu dữ liệu này trở nên dễ dàng vì chúng bao gồm các hàm giúp mã hiệu quả. Chức năng sắp xếp là một trong những chức năng như vậy cho một từ điển trong python. Trong bài viết này, chúng tôi sẽ thảo luận về cách chúng tôi có thể sắp xếp một từ điển. Sau đây là các khái niệm được thảo luận trong blog này

Từ điển là gì?

Từ điển là kiểu dữ liệu tập hợp chứa các cặp giá trị khóa giống như bản đồ trong các ngôn ngữ lập trình khác

  • Về bản chất, từ điển có thể thay đổi, có nghĩa là các thay đổi có thể được thực hiện ngay cả sau khi khai báo một từ điển trong python
  • Nó không có thứ tự và cho phép các mục trùng lặp, chỉ trong các giá trị vì các khóa phải khác biệt
  • Các giá trị được truy cập bằng cách sử dụng các khóa dưới dạng chỉ mục trong từ điển
  • Một từ điển được khai báo trong dấu ngoặc nhọn
mydictionary = { 'key1' : 'value 1' , 'key2' : 'value 2' , 'key3' : 'value 3'}
print[mydictionary]
Output : { 'key1' : 'value 1' , 'key2' : 'value 2' , 'key3' : 'value 3'}

Các hoạt động khác nhau trong một từ điển

Sau đây là các thao tác chúng ta có thể thực hiện trên từ điển trong python

  1. thông thoáng
  2. sao chép
  3. từ khóa
  4. được
  5. mặt hàng
  6. phím
  7. dân chúng
  8. nhạc pop
  9. thiết lập mặc định
  10. cập nhật
  11. giá trị

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

  • Một từ điển có độ phức tạp về thời gian tìm kiếm O[1] trong khi một danh sách có độ phức tạp về thời gian tìm kiếm O[n], điều này làm cho từ điển trở thành một lựa chọn khả thi bất cứ khi nào cần thiết
  • Một từ điển được sắp xếp mang lại sự hiểu biết tốt hơn và rõ ràng hơn trong việc xử lý các hoạt động
  • Sắp xếp giúp thực hiện phân tích hiệu quả trong khi làm việc với bất kỳ cấu trúc dữ liệu nào

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

  1. Sắp xếp theo phím
  2. Sắp xếp theo giá trị
  3. Thuật toán sắp xếp tùy chỉnh - chuỗi, số
  4. Đảo ngược thứ tự sắp xếp

Sắp xếp theo phím

Chúng ta có thể sử dụng chức năng được sắp xếp sẵn có sẽ thực hiện bất kỳ lần lặp nào và trả về một danh sách được sắp xếp. Chúng ta có thể sử dụng các phím để lấy từ điển được sắp xếp theo thứ tự tăng dần

a = {1:2 ,2:1 ,4:3 ,3:4 ,6:5 ,5:6 }
#this will print a sorted list of the keys
print[sorted[a.keys[]]]
#this will print the sorted list with items.
print[sorted[a.items[]]]
Output: [1,2,3,4,5,6]
[[1,2],[2,1],[3,4],[4,3],[5,6],[6,5]]

Sắp xếp theo giá trị

Cũng giống như các khóa, chúng ta cũng có thể sử dụng các giá trị

a = {1:2 ,2:1 ,4:3 ,3:4 ,6:5 ,5:6 }
print[sorted.values[]]]
#this will print a sorted list of values.

đầu ra. [ 1,2,3,4,5,6]

Thuật toán sắp xếp tùy chỉnh – Chuỗi, số

Để thực hiện các thao tác sắp xếp phức tạp hơn, chúng ta có thể sử dụng các đối số khác trong phương thức sorted

day = { 'one' : 'Monday' , 'two' : 'Tuesday' , 'three' : 'Wednesday' , 'four' : 'Thursday' , 'five': 'Friday' , 'six' : 'Saturday' , 'seven': 'Sunday'}
print[day]
number = { 'one' : 1 , 'two' : 2 , 'three' : 3 , 'four' : 4 , 'five' : 5 , 'six' : 6 , 'seven' : 7}
print[sorted[day , key=number.__getitem__]]
print[[day[i] for i in sorted[day , key=number.__getitem__]]]
Output: { 'one' : 'Monday' , 'two' : 'Tuesday' , 'three' : 'Wednesday' , 'four' : 'Thursday' , 'five': 'Friday' , 'six' : 'Saturday' , 'seven': 'Sunday'}
['one', 'two' , 'three' , 'four' , 'five' , 'six' , 'seven']
['Monday' , 'Tuesday', 'Wednesday' , 'Thursday' , 'Friday' , 'Saturday' , 'Sunday' ]

Với việc sử dụng các đối số khác, chúng tôi có thể sắp xếp từ điển theo cách tốt nhất có thể bằng cách sử dụng cả chuỗi và số. Ta đảo ngược thứ tự cũng được, dưới đây là ví dụ đảo ngược thứ tự từ điển đã sắp xếp

Đảo ngược thứ tự đã sắp xếp

Chúng ta có thể đảo ngược thứ tự của từ điển đã sắp xếp. Sau đây là một ví dụ để đảo ngược thứ tự của từ điển đã sắp xếp

a = {1:2 ,2:1 ,4:3 ,3:4 ,6:5 ,5:6 }
print[sorted[a.values[] ,  reverse= True]]
Output: [6,5,4,3,2,1]

Trong blog này, chúng tôi đã thảo luận về cách sắp xếp từ điển trong python. Từ điển có thể là một cách tối ưu hóa để xử lý dữ liệu liên quan đến các cặp giá trị chính. Làm việc trên từ điển trở nên dễ dàng hơn vì chúng có thể thay đổi về bản chất và có độ phức tạp về thời gian tìm kiếm ít hơn so với danh sách

Các kiểu dữ liệu trong python là một khái niệm cơ bản quan trọng giúp tách biệt python. Với khả năng truy cập dễ dàng và khả năng đọc được cải thiện, nó giúp ích trong các ứng dụng python khác như phân tích và khoa học dữ liệu. Để thành thạo python, hãy đăng ký chương trình chứng chỉ Python của Edureka và bắt đầu quá trình học của bạn

Tôi có thể sắp xếp các khóa trong từ điển Python không?

Từ điển mặc định trong Python là cấu trúc dữ liệu không có thứ tự. Giống như danh sách, chúng ta có thể sử dụng hàm sorted[] để sắp xếp từ điển theo khóa .

Làm cách nào để lấy khóa và giá trị trong từ điển được sắp xếp Python?

Lấy khóa, giá trị hoặc cả hai từ một từ điển . Bạn có thể sử dụng. values[] để chỉ xem các giá trị và. keys[] để lấy một cái chỉ có các phím. Ví dụ này dẫn đến một danh sách các bộ được sắp xếp, với mỗi bộ đại diện cho một cặp khóa-giá trị của từ điển.

Chủ Đề