suy nghĩ đầu tiên mà bạn cần là để đọc tài liệu hướng dẫn. Nếu bạn mở python hướng dẫn và sau đó cố gắng tìm kiếm thông tin về OrderedDict bạn sẽ thấy như sau:
lớp collections.OrderedDict ([mục]) - Quay trở lại một thể hiện của một lớp con dict , hỗ trợ các phương pháp dict bình thường. OrderedDict là một dict ghi nhớ thứ tự các khóa được chèn lần đầu tiên. Nếu mục nhập mới ghi đè mục nhập hiện có, vị trí chèn ban đầu sẽ bị giữ nguyên . Xóa một mục nhập và lắp lại nó sẽ di chuyển nó đến cuối .
Tính năng mới trong phiên bản 2.7.
Vì vậy, trong trường hợp bạn đang sử dụng từ điển đặt hàng và bạn sẽ không xóa khóa - thì 'động vật' sẽ luôn ở vị trí bạn thêm - ví dụ: Chỉ số 2.
Ngoài ra để có được một chỉ số của một 'con mèo' bạn chỉ có thể sử dụng:
from collections import OrderedDict
d = OrderedDict((("fruit", "banana"), ("drinks", "water"), ("animal", "cat")))
d.keys()
>>> ['fruit', 'drinks', 'animal']
d.values()
>>> ['banana', 'water', 'cat']
# So
d.values().index('cat')
>>> 2
Nguồn
2011-08-01 11:52:20
Từ điển của bạn không phải là một mệnh lệnh được đặt hàng - đó là một dict Python không có thứ tự. –
Chỉ vì bạn gọi nó là lệnh dict không làm cho nó một! – Jacob