Hướng dẫn can we change the order for dictionary in python? - chúng ta có thể thay đổi thứ tự cho từ điển trong python không?

Xin chào, tôi cần trợ giúp trong trường hợp này, vấn đề là tôi sử dụng từ điển để tạo menu và tôi muốn thay đổi thứ tự của menu, ví dụ, nếu người dùng chọn tùy chọn 6: "6. Chọn tùy chọn yêu thích Trên menu "Thứ tự của menu sẽ thay đổi theo cách: tùy chọn yêu thích có được vị trí đầu tiên và phần còn lại của các tùy chọn thay đổi vị trí. Điều kiện khác là không bao giờ vị trí 6 và 7 nên thay đổi. Câu hỏi của tôi là làm thế nào tôi có thể thay đổi thứ tự trong từ điển tùy thuộc vào một điều kiện nhất định? Nếu bạn có câu trả lời và bạn giúp tôi, cảm ơn bạn rất nhiều! https://code.sololearn.com/ciewfcml0e7b/?ref=app

Brahian Suárez, chỉ để chắc chắn rằng tôi đã nhận được nó. Giả sử rằng chúng ta có một menu như: "1. Input" "2. xử lý" "3. Đầu ra" bây giờ "3. Đầu ra" sẽ di chuyển lên trên cùng và có thể là: "3. Đầu ra" "1. Đầu vào" "2. xử lý" hoặc có thể là: "1. đầu ra" "2. đầu vào" "3. Quy trình" sẽ rất hữu ích nếu bạn có thể đưa ra một mẫu như được hiển thị bởi tôi. cảm ơn

Hướng dẫn can we change the order for dictionary in python? - chúng ta có thể thay đổi thứ tự cho từ điển trong python không?

Brahian Suárez, đây là một cách làm thế nào để thực hiện nhiệm vụ như bạn đã mô tả: (Điều này sử dụng Python 3.7 và Dict thông thường. Không quá khó nếu bạn muốn thay đổi theo lệnh theo lệnh như visph đã đề cập) menu = {1 : ". new_dict = {k: v cho k, v trong menu.items () nếu k == elem} # trích xuất elem để di chuyển menu.pop (elem, none) # xóa elem để di chuyển trong menu dict new_dict.update (menu) # Trò chơi Menu Dict With Update () vào New_Dict Print (new_dict) Mã hóa hạnh phúc!

Hướng dẫn can we change the order for dictionary in python? - chúng ta có thể thay đổi thứ tự cho từ điển trong python không?

Lothar cảm ơn bạn đã trả lời! Vâng, bạn đã hiểu, đây là suy nghĩ mà tôi muốn thực hiện. Ví dụ: #Đây là menu menu của tôi = {1: "1.hello" 2: "2.Mood bye" 3: "3.hi, có"} #now Tôi thiết lập một biến yêu thích = int (input ("Chọn Một tùy chọn yêu thích: ")) Tạm biệt "1:" 1.hello "} #Tôi biết rằng tôi có thể lập nó với một danh sách, nhưng tôi muốn làm điều này với một từ điển nhưng tôi không biết liệu điều này có thể không. Tôi hy vọng lần này tôi đã rõ ràng

Hướng dẫn can we change the order for dictionary in python? - chúng ta có thể thay đổi thứ tự cho từ điển trong python không?

Tùy thuộc vào phiên bản Python mà bạn sẽ/cần hỗ trợ, bạn có thể chọn giữa Dict-in hoặc OrderedDict từ Mô-đun Bộ sưu tập ... Cựu thứ tự giữ khóa kể từ Python 3.6, trong khi sau đó được thiết kế để giữ các khóa được đặt hàng (Python 3.1) . Tuy nhiên, OrderedDict có lẽ là sự lựa chọn tốt hơn trong trường hợp của bạn: Tương thích ngược lớn hơn, tính năng như Move_To_END () (Python 3.2, không có sẵn cho Dict thường xuyên) và hỗ trợ đảo ngược () để lặp lại (Python 3.5, chỉ di động chỉ kể từ 3.8) Nếu bạn chỉ cần hỗ trợ từ Python 3.5, sẽ tương đối dễ dàng để thực hiện tính năng menu của bạn với OrderedDict theo thứ tự ngược Cấu trúc (lần đầu tiên được in);)

Hướng dẫn can we change the order for dictionary in python? - chúng ta có thể thay đổi thứ tự cho từ điển trong python không?

  • bộ sưu tập
  • Đặt hàng



examples/dictionary/change_order.py

from collections import OrderedDict

d = OrderedDict()
d['a'] = 1
d['b'] = 2
d['c'] = 3
d['d'] = 4

print(d)
d.move_to_end('a')

print(d)
d.move_to_end('d', last=False)

print(d)

for key in d.keys():
    print(key)

OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
OrderedDict([('b', 2), ('c', 3), ('d', 4), ('a', 1)])
OrderedDict([('d', 4), ('b', 2), ('c', 3), ('a', 1)])
d
b
c
a


  • Chỉ mục (i)
  • Mục lục (t)
  • Từ khóa được lập chỉ mục (k)
  • Chương TOC (D)
  • Ẩn/Show (H)

Làm cách nào để thay đổi thứ tự của một từ điển được đặt hàng?

Sắp xếp lại. Có thể thay đổi thứ tự của các khóa theo thứ tự bằng cách di chuyển chúng sang phần đầu hoặc phần cuối của chuỗi bằng cách sử dụng di chuyển_to_end (). Đối số cuối cùng cho Move_to_end () () di chuyển mục đó là mục cuối cùng trong chuỗi khóa (khi đúng) hoặc đầu tiên (khi sai).moving them to either the beginning or the end of the sequence using move_to_end() . The last argument tells move_to_end() whether to move the item to be the last item in the key sequence (when True ) or the first (when False ).

Có quan trọng trong từ điển Python?

Python sử dụng các thuật toán phức tạp để xác định nơi các cặp giá trị khóa được lưu trữ trong từ điển.Đối với mục đích của chúng tôi, chúng tôi có thể nghĩ về thứ tự này là không thể thực hiện được, vì vậy bạn không nên cố gắng dựa vào nó.Thay vào đó, hãy tìm kiếm các giá trị bằng cách sử dụng một khóa đã biết.Không quan trọng chúng tôi viết các cặp.It doesn't matter what order we write the pairs.

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

Cần sắp xếp trong từ điển trước, hãy sắp xếp các phím theo thứ tự bằng cách sử dụng hàm key_value.iterkeys ().Thứ hai, sắp xếp các phím theo thứ tự bằng cách sử dụng hàm được sắp xếp (key_value) và in giá trị tương ứng với nó.Thứ ba, sắp xếp các giá trị theo bảng chữ cái bằng cách sử dụng key_value.iteritems (), key = lambda (k, v): (v, k))sort the keys alphabetically using key_value.iterkeys() function. Second, sort the keys alphabetically using the sorted (key_value) function & print the value corresponding to it. Third, sort the values alphabetically using key_value.iteritems(), key = lambda (k, v) : (v, k))

Các khóa từ điển Python có duy trì trật tự không?

Vì từ điển trong Python 3.5 không nhớ thứ tự các mục của họ, bạn không biết thứ tự trong từ điển được đặt hàng kết quả cho đến khi đối tượng được tạo.Từ thời điểm này, thứ tự được duy trì.Kể từ Python 3.6, các chức năng giữ lại thứ tự của các đối số từ khóa được truyền trong một cuộc gọi.the order is maintained. Since Python 3.6, functions retain the order of keyword arguments passed in a call.