Hướng dẫn ordereddict vs dict python - Orderdict so với dict python

Đôi khi bạn cần một từ điển Python ghi nhớ thứ tự của các mặt hàng của nó. Trước đây, bạn chỉ có một công cụ để giải quyết vấn đề cụ thể này: Python từ

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3. Nó có một lớp con từ điển được thiết kế đặc biệt để ghi nhớ thứ tự của các mặt hàng, được xác định bởi thứ tự chèn của các khóa.

Show

Điều này đã thay đổi trong Python 3.6. Lớp

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 tích hợp hiện cũng giữ các mục của nó được đặt hàng. Do đó, nhiều người trong cộng đồng Python bây giờ tự hỏi liệu
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 có hữu ích không. Nhìn kỹ hơn
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 sẽ phát hiện ra rằng lớp này vẫn cung cấp các tính năng có giá trị.

Trong hướng dẫn này, bạn sẽ học cách:

  • Tạo và sử dụng các đối tượng
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 trong mã của bạn
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 objects
    in your code
  • Xác định sự khác biệt giữa
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 và
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4differences between
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 and
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4
  • Hiểu những ưu và nhược điểm của việc sử dụng
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 so với
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4pros and cons of using
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 vs
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4

Với kiến ​​thức này, bạn có thể chọn lớp từ điển phù hợp nhất với nhu cầu của bạn khi bạn muốn bảo tồn thứ tự của các mặt hàng.

Đến cuối hướng dẫn, bạn sẽ thấy một ví dụ về việc thực hiện hàng đợi dựa trên từ điển bằng cách sử dụng

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3, sẽ khó khăn hơn nếu bạn sử dụng đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 thông thường.

Trong nhiều năm, từ điển Python là cấu trúc dữ liệu không đặt hàng. Các nhà phát triển Python đã quen với thực tế này và họ dựa vào danh sách hoặc các chuỗi khác khi họ cần giữ dữ liệu của họ theo thứ tự. Theo thời gian, các nhà phát triển đã tìm thấy một loại từ điển mới, một loại sẽ giữ các mục của nó được đặt hàng.

Trở lại năm 2008, PEP 372 đã giới thiệu ý tưởng thêm một lớp từ điển mới vào

>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Mục tiêu chính của nó là ghi nhớ thứ tự của các mặt hàng theo định nghĩa theo thứ tự các khóa được chèn. Đó là nguồn gốc của
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3.

Các nhà phát triển Core Python muốn điền vào khoảng trống và cung cấp một từ điển có thể bảo tồn thứ tự các khóa được chèn. Điều đó, đến lượt nó, cho phép thực hiện đơn giản hơn các thuật toán cụ thể dựa vào thuộc tính này.

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 đã được thêm vào thư viện tiêu chuẩn trong Python 3.1. API của nó về cơ bản giống như
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4. Tuy nhiên,
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 lặp lại trên các khóa và giá trị theo cùng thứ tự mà các khóa được chèn. Nếu một mục mới ghi đè lên một mục nhập hiện có, thì thứ tự không thay đổi. Nếu một mục bị xóa và xác định lại, thì nó sẽ được chuyển đến cuối từ điển.

Python 3.6 đã giới thiệu một triển khai mới của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4. Việc triển khai mới này thể hiện một chiến thắng lớn về mặt sử dụng bộ nhớ và hiệu quả lặp lại. Ngoài ra, việc triển khai mới cung cấp một tính năng mới và có phần bất ngờ: các đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 hiện giữ các mục của chúng theo cùng thứ tự mà chúng được giới thiệu. Ban đầu, tính năng này được coi là một chi tiết triển khai và tài liệu được khuyên không nên dựa vào nó.

Theo lời của Raymond Hettinger, nhà phát triển Core Python và đồng tác giả của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3, lớp được thiết kế đặc biệt để giữ cho các mặt hàng của nó được đặt hàng, trong khi việc triển khai
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 mới được thiết kế để nhỏ gọn và cung cấp nhanh chóng:

Từ điển thông thường hiện tại dựa trên thiết kế mà tôi đã đề xuất vài năm trước. Các mục tiêu chính của thiết kế đó là sự nhỏ gọn và lặp lại nhanh hơn so với các mảng dày đặc của các phím và giá trị. Duy trì trật tự là một cổ vật hơn là một mục tiêu thiết kế. Thiết kế có thể duy trì trật tự nhưng đó không phải là chuyên môn của nó.

Ngược lại, tôi đã cho

>>> from collections import OrderedDict

>>> keys = ["one", "two", "three"]
>>> OrderedDict.fromkeys(keys, 0)
OrderedDict([('one', 0), ('two', 0), ('three', 0)])
5 một thiết kế khác (sau đó được mã hóa bằng C bởi Eric Snow). Mục tiêu chính là bảo trì trật tự hiệu quả ngay cả đối với khối lượng công việc nghiêm trọng như áp đặt bởi
>>> from collections import OrderedDict

>>> keys = ["one", "two", "three"]
>>> OrderedDict.fromkeys(keys, 0)
OrderedDict([('one', 0), ('two', 0), ('three', 0)])
6 thường thay đổi thứ tự mà không chạm vào
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 cơ bản. Cố ý,
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 có một thiết kế ưu tiên các khả năng đặt hàng với chi phí của chi phí bộ nhớ bổ sung và một yếu tố liên tục thời gian chèn tồi tệ hơn.

Mục tiêu của tôi vẫn là

>>> from collections import OrderedDict

>>> keys = ["one", "two", "three"]
>>> OrderedDict.fromkeys(keys, 0)
OrderedDict([('one', 0), ('two', 0), ('three', 0)])
5 có một thiết kế khác với các đặc điểm hiệu suất khác với các dicts thông thường. Nó có một số phương pháp cụ thể theo thứ tự mà các dicts thường xuyên don don có (chẳng hạn như
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> numbers["four"] = 4
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3), ('four', 4)])
0 và
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> numbers["four"] = 4
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3), ('four', 4)])
1 xuất hiện hiệu quả từ hai đầu).
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 cần phải giỏi các hoạt động đó bởi vì đó là những gì khác biệt với các dicts thông thường. (Nguồn)

Trong Python 3.7, tính năng được đặt hàng của các vật phẩm của các đối tượng

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 đã được tuyên bố là một phần chính thức của đặc tả ngôn ngữ Python. Vì vậy, từ thời điểm đó, các nhà phát triển có thể dựa vào
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 khi họ cần một từ điển giữ cho các mục của nó được đặt hàng.

Tại thời điểm này, một câu hỏi đặt ra:

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 vẫn cần thiết sau khi triển khai
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 mới này? Câu trả lời phụ thuộc vào trường hợp sử dụng cụ thể của bạn và cả về mức độ rõ ràng bạn muốn có trong mã của mình.

Tại thời điểm viết bài, một số tính năng của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 vẫn làm cho nó có giá trị và khác với
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 thông thường:

  1. Tín hiệu ý định: Nếu bạn sử dụng
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 qua
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4, thì mã của bạn cho thấy rõ rằng thứ tự các mục trong từ điển là quan trọng. Bạn có thể giao tiếp rõ ràng rằng mã của bạn cần hoặc dựa vào thứ tự các mục trong từ điển cơ bản.
    If you use
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 over
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4, then your code makes it clear that the order of items in the dictionary is important. You’re clearly communicating that your code needs or relies on the order of items in the underlying dictionary.
  2. Kiểm soát thứ tự của các mục: Nếu bạn cần sắp xếp lại hoặc sắp xếp lại các mục trong từ điển, thì bạn có thể sử dụng
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    1 và cả biến thể nâng cao của
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    2.
    If you need to rearrange or reorder the items in a dictionary, then you can use
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    1 and also the enhanced variation of
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    2.
  3. Hành vi kiểm tra bình đẳng: Nếu mã của bạn so sánh từ điển cho sự bình đẳng và thứ tự của các mục rất quan trọng trong so sánh đó, thì
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 là lựa chọn đúng đắn.
    If your code compares dictionaries for equality, and the order of items is important in that comparison, then
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 is the right choice.

Có ít nhất một lý do nữa để tiếp tục sử dụng

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 trong mã của bạn: khả năng tương thích ngược. Dựa vào các đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 thông thường để bảo tồn thứ tự các mục sẽ phá vỡ mã của bạn trong các môi trường chạy các phiên bản của Python cũ hơn 3,6.backward compatibility. Relying on regular
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 objects to preserve the order of items will break your code in environments that run versions of Python older than 3.6.

Thật khó để nói nếu

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 sẽ sớm thay thế
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3. Ngày nay,
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 vẫn cung cấp các tính năng thú vị và có giá trị mà bạn có thể muốn xem xét khi chọn một công cụ cho một công việc nhất định.

Python sườn

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 là một lớp con
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 bảo tồn thứ tự trong đó các cặp giá trị khóa, thường được gọi là các mục, được đưa vào từ điển. Khi bạn lặp lại một đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3, các mục được đi qua theo thứ tự ban đầu. Nếu bạn cập nhật giá trị của một khóa hiện có, thì thứ tự vẫn không thay đổi. Nếu bạn loại bỏ một mục và sắp xếp lại nó, thì mục sẽ được thêm vào cuối từ điển.key-value pairs, commonly known as items, are inserted into the dictionary. When you iterate over an
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 object, items are traversed in the original order. If you update the value of an existing key, then the order remains unchanged. If you remove an item and reinsert it, then the item is added at the end of the dictionary.

Là một lớp con

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 có nghĩa là nó kế thừa tất cả các phương pháp mà một từ điển thông thường cung cấp.
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 cũng có các tính năng bổ sung mà bạn sẽ tìm hiểu trong hướng dẫn này. Tuy nhiên, trong phần này, bạn sẽ học được những điều cơ bản về việc tạo và sử dụng các đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 trong mã của bạn.

Không giống như

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4,
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 không phải là loại tích hợp, vì vậy bước đầu tiên để tạo các đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 là nhập lớp từ
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Có một số cách để tạo từ điển theo thứ tự. Hầu hết chúng đều giống hệt với cách bạn tạo một đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 thông thường. Ví dụ: bạn có thể tạo một đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 trống bằng cách khởi tạo lớp mà không có đối số:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict()

>>> numbers["one"] = 1
>>> numbers["two"] = 2
>>> numbers["three"] = 3

>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

Trong trường hợp này, trước tiên bạn nhập

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 từ
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Sau đó, bạn tạo một từ điển được đặt hàng trống bằng cách khởi tạo
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 mà không cung cấp các đối số cho hàm tạo.

Bạn có thể thêm các cặp giá trị khóa vào từ điển bằng cách cung cấp một khóa trong dấu ngoặc vuông (

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
6) và gán giá trị cho khóa đó. Khi bạn tham khảo
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
7, bạn sẽ nhận được một cặp có giá trị khóa giữ các mục theo cùng một thứ tự, chúng được đưa vào từ điển.

Bạn cũng có thể chuyển một mục tiêu của các mục dưới dạng đối số cho hàm tạo của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])

Trong trường hợp này, trước tiên bạn nhập

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 từ
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Sau đó, bạn tạo một từ điển được đặt hàng trống bằng cách khởi tạo
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 mà không cung cấp các đối số cho hàm tạo.

Bạn có thể thêm các cặp giá trị khóa vào từ điển bằng cách cung cấp một khóa trong dấu ngoặc vuông (

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
6) và gán giá trị cho khóa đó. Khi bạn tham khảo
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
7, bạn sẽ nhận được một cặp có giá trị khóa giữ các mục theo cùng một thứ tự, chúng được đưa vào từ điển.

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

Trong trường hợp này, trước tiên bạn nhập

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 từ
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Sau đó, bạn tạo một từ điển được đặt hàng trống bằng cách khởi tạo
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 mà không cung cấp các đối số cho hàm tạo.

>>>

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])

Trong trường hợp này, trước tiên bạn nhập

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 từ
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Sau đó, bạn tạo một từ điển được đặt hàng trống bằng cách khởi tạo
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 mà không cung cấp các đối số cho hàm tạo.

Bạn có thể thêm các cặp giá trị khóa vào từ điển bằng cách cung cấp một khóa trong dấu ngoặc vuông (

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
6) và gán giá trị cho khóa đó. Khi bạn tham khảo
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
7, bạn sẽ nhận được một cặp có giá trị khóa giữ các mục theo cùng một thứ tự, chúng được đưa vào từ điển.

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

Trong trường hợp này, trước tiên bạn nhập

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 từ
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Sau đó, bạn tạo một từ điển được đặt hàng trống bằng cách khởi tạo
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 mà không cung cấp các đối số cho hàm tạo.

Bạn có thể thêm các cặp giá trị khóa vào từ điển bằng cách cung cấp một khóa trong dấu ngoặc vuông (

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
6) và gán giá trị cho khóa đó. Khi bạn tham khảo
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
7, bạn sẽ nhận được một cặp có giá trị khóa giữ các mục theo cùng một thứ tự, chúng được đưa vào từ điển.

>>>

>>> from collections import OrderedDict

>>> keys = ["one", "two", "three"]
>>> OrderedDict.fromkeys(keys, 0)
OrderedDict([('one', 0), ('two', 0), ('three', 0)])

Trong trường hợp này, trước tiên bạn nhập

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 từ
>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6. Sau đó, bạn tạo một từ điển được đặt hàng trống bằng cách khởi tạo
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 mà không cung cấp các đối số cho hàm tạo.

Bạn có thể thêm các cặp giá trị khóa vào từ điển bằng cách cung cấp một khóa trong dấu ngoặc vuông (>>> from collections import OrderedDict >>> numbers = OrderedDict(one=1, two=2, three=3) >>> # Iterate over the keys directly >>> for key in numbers: ... print(key, "->", numbers[key]) ... one -> 1 two -> 2 three -> 3 >>> # Iterate over the items using .items() >>> for key, value in numbers.items(): ... print(key, "->", value) ... one -> 1 two -> 2 three -> 3 >>> # Iterate over the keys using .keys() >>> for key in numbers.keys(): ... print(key, "->", numbers[key]) ... one -> 1 two -> 2 three -> 3 >>> # Iterate over the values using .values() >>> for value in numbers.values(): ... print(value) ... 1 2 3 6) và gán giá trị cho khóa đó. Khi bạn tham khảo >>> from collections import OrderedDict >>> numbers = OrderedDict(one=1, two=2, three=3) >>> # Iterate over the keys directly >>> for key in numbers: ... print(key, "->", numbers[key]) ... one -> 1 two -> 2 three -> 3 >>> # Iterate over the items using .items() >>> for key, value in numbers.items(): ... print(key, "->", value) ... one -> 1 two -> 2 three -> 3 >>> # Iterate over the keys using .keys() >>> for key in numbers.keys(): ... print(key, "->", numbers[key]) ... one -> 1 two -> 2 three -> 3 >>> # Iterate over the values using .values() >>> for value in numbers.values(): ... print(value) ... 1 2 3 7, bạn sẽ nhận được một cặp có giá trị khóa giữ các mục theo cùng một thứ tự, chúng được đưa vào từ điển.

Bạn cũng có thể chuyển một mục tiêu của các mục dưới dạng đối số cho hàm tạo của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3:mutating operations on its instances. You can insert new items, update and remove existing items, and so on. If you insert a new item into an existing ordered dictionary, then the item is added to the end of the dictionary:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict(one=1, two=2, three=3)
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> numbers["four"] = 4
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3), ('four', 4)])

Mục mới được thêm vào,

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
11, được đặt ở cuối từ điển cơ bản, do đó, thứ tự của các mục hiện tại vẫn không bị ảnh hưởng và từ điển giữ thứ tự chèn.

Nếu bạn xóa một mục khỏi một từ điển được đặt hàng hiện có và chèn lại cùng một mục, thì phiên bản mới của mục được đặt ở cuối từ điển:

>>>

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])

Nếu bạn xóa mục

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
12 và chèn một thể hiện mới của cùng một mục, thì mục mới sẽ được thêm vào cuối từ điển cơ bản.

Nếu bạn chỉ định hoặc cập nhật giá trị của một cặp giá trị khóa hiện có trong một đối tượng

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3, thì khóa duy trì vị trí của nó nhưng nhận được một giá trị mới:

>>>

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> numbers["one"] = 1.0
>>> numbers
OrderedDict([('one', 1.0), ('two', 2), ('three', 3)])

>>> numbers.update(two=2.0)
>>> numbers
OrderedDict([('one', 1.0), ('two', 2.0), ('three', 3)])

Nếu bạn cập nhật giá trị của một khóa đã cho trong từ điển được đặt hàng, thì khóa không được di chuyển nhưng được gán giá trị mới tại chỗ. Theo cách tương tự, nếu bạn sử dụng

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
14 để sửa đổi giá trị của một cặp giá trị khóa hiện có, thì từ điển sẽ nhớ vị trí của khóa và gán giá trị cập nhật cho nó.

Giống như với từ điển thông thường, bạn có thể lặp lại thông qua một đối tượng

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 bằng một số công cụ và kỹ thuật. Bạn có thể lặp lại trực tiếp các khóa hoặc bạn có thể sử dụng các phương thức từ điển, chẳng hạn như
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
17,
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
18 và
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
19:

>>>

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3

Vòng lặp

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
20 đầu tiên lặp lại trên các khóa của
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
7 trực tiếp. Ba vòng khác sử dụng các phương thức từ điển để lặp lại các mục, khóa và giá trị của
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
7.

Lặp lại theo thứ tự đảo ngược với >>> from collections import OrderedDict >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)]) >>> numbers OrderedDict([('one', 1), ('two', 2), ('three', 3)]) >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)}) >>> letters OrderedDict([('c', 3), ('a', 1), ('b', 2)]) 23

Một tính năng quan trọng khác mà

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 đã cung cấp kể từ Python 3.5 là các mục, khóa và giá trị của nó hỗ trợ lặp lại lặp lại bằng cách sử dụng
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
23. Tính năng này đã được thêm vào từ điển thông thường trong Python 3.8. Vì vậy, nếu mã của bạn sử dụng nó, thì khả năng tương thích ngược của bạn bị hạn chế hơn nhiều với từ điển bình thường.

Bạn có thể sử dụng

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
23 với các mục, khóa và giá trị của đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
0

Mỗi vòng lặp trong ví dụ này sử dụng

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
23 để lặp lại thông qua các yếu tố khác nhau của từ điển được đặt hàng theo thứ tự ngược lại.

Từ điển thường xuyên cũng hỗ trợ lặp lại. Tuy nhiên, nếu bạn cố gắng sử dụng

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
23 với đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 thông thường trong phiên bản Python thấp hơn 3,8, thì bạn sẽ nhận được
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
31:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
1

Nếu bạn cần lặp lại các mục theo một từ điển theo thứ tự ngược lại, thì

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 là một đồng minh tốt. Sử dụng một từ điển thông thường làm giảm đáng kể khả năng tương thích ngược của bạn vì lặp lại đảo ngược đã được thêm vào từ điển thông thường cho đến khi Python 3.8.

Kể từ Python 3.6, từ điển thông thường đã giữ các mặt hàng của họ theo cùng thứ tự mà chúng được đưa vào từ điển cơ bản. Điều này giới hạn tính hữu ích của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3, như bạn đã thấy cho đến nay. Tuy nhiên,
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 cung cấp một số tính năng độc đáo mà bạn có thể tìm thấy trong một đối tượng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 thông thường.

Với một từ điển được đặt hàng, bạn có quyền truy cập vào các phương pháp bổ sung và nâng cao sau:

  • >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    1 là một phương pháp mới được thêm vào Python 3.2 cho phép bạn di chuyển một mục hiện có đến cuối hoặc đến đầu từ điển.

  • >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    2 là một biến thể nâng cao của đối tác
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    39 cho phép bạn xóa và trả lại một mục từ cuối hoặc bắt đầu từ điển theo thứ tự được đặt hàng.

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 và
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 cũng hoạt động khác nhau khi họ thử nghiệm về sự bình đẳng. Cụ thể, khi bạn so sánh từ điển được đặt hàng, thứ tự của các mục có vấn đề. Đó không phải là trường hợp với từ điển thông thường.

Cuối cùng, các trường hợp

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 cung cấp một thuộc tính gọi là
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 mà bạn có thể tìm thấy trong một trường hợp từ điển thông thường. Thuộc tính này cho phép bạn thêm các thuộc tính có thể ghi tùy chỉnh vào một từ điển được đặt hàng hiện có.

Sắp xếp lại các mục với >>> from collections import OrderedDict >>> numbers = OrderedDict(one=1, two=2, three=3) >>> del numbers["one"] >>> numbers OrderedDict([('two', 2), ('three', 3)]) >>> numbers["one"] = 1 >>> numbers OrderedDict([('two', 2), ('three', 3), ('one', 1)]) 1

Một trong những khác biệt đáng chú ý hơn giữa

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 và
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 là phương pháp sau có một phương pháp bổ sung gọi là
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1. Phương pháp này cho phép bạn di chuyển các mục hiện có sang phần cuối hoặc bắt đầu từ điển cơ bản, do đó, nó là một công cụ tuyệt vời để sắp xếp lại từ điển.

Khi bạn sử dụng

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1, bạn có thể cung cấp hai đối số:

  1. >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    49 giữ khóa xác định mục bạn muốn di chuyển. Nếu
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    49 không tồn tại, thì bạn sẽ nhận được
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    51.
    holds the key that identifies the item you want to move. If
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    49 doesn’t exist, then you get a
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    51.

  2. >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    52 giữ một giá trị boolean xác định kết thúc của từ điển bạn muốn di chuyển vật phẩm trong tay. Nó mặc định là
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    53, có nghĩa là vật phẩm sẽ được di chuyển đến cuối hoặc bên phải của từ điển.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    54 có nghĩa là vật phẩm sẽ được di chuyển ra phía trước hoặc bên trái của từ điển được đặt hàng.
    holds a Boolean value that defines to which end of the dictionary you want to move the item at hand. It defaults to
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    53, which means that the item will be moved to the end, or right side, of the dictionary.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    54 means that the item will be moved to the front, or left side, of the ordered dictionary.

Ở đây, một ví dụ về cách sử dụng

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1 với đối số
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
49 và dựa vào giá trị mặc định là
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
52:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
2

Khi bạn gọi

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1 với
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
49 làm đối số, bạn sẽ di chuyển cặp giá trị khóa trong tay đến cuối từ điển. Đó là lý do tại sao
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
12 ở vị trí cuối cùng. Lưu ý rằng phần còn lại của các mục vẫn theo cùng một thứ tự ban đầu.

Nếu bạn chuyển

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
54 đến
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
52, thì bạn sẽ chuyển vật phẩm sang đầu:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
3

Khi bạn gọi

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1 với
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
49 làm đối số, bạn sẽ di chuyển cặp giá trị khóa trong tay đến cuối từ điển. Đó là lý do tại sao
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
12 ở vị trí cuối cùng. Lưu ý rằng phần còn lại của các mục vẫn theo cùng một thứ tự ban đầu.

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
4

Khi bạn gọi

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1 với
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
49 làm đối số, bạn sẽ di chuyển cặp giá trị khóa trong tay đến cuối từ điển. Đó là lý do tại sao
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
12 ở vị trí cuối cùng. Lưu ý rằng phần còn lại của các mục vẫn theo cùng một thứ tự ban đầu.

Nếu bạn chuyển

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
54 đến
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
52, thì bạn sẽ chuyển vật phẩm sang đầu:

Trong trường hợp này, bạn di chuyển

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
12 sang đầu từ điển. Điều này cung cấp một tính năng thú vị và mạnh mẽ. Ví dụ: với
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1, bạn có thể sắp xếp một từ điển được đặt hàng theo các khóa:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
5

Khi bạn gọi

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1 với
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
49 làm đối số, bạn sẽ di chuyển cặp giá trị khóa trong tay đến cuối từ điển. Đó là lý do tại sao
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
12 ở vị trí cuối cùng. Lưu ý rằng phần còn lại của các mục vẫn theo cùng một thứ tự ban đầu.

Nếu bạn chuyển

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
54 đến
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
52, thì bạn sẽ chuyển vật phẩm sang đầu:

Trong trường hợp này, bạn di chuyển

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
12 sang đầu từ điển. Điều này cung cấp một tính năng thú vị và mạnh mẽ. Ví dụ: với
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1, bạn có thể sắp xếp một từ điển được đặt hàng theo các khóa:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
6

Trong ví dụ này, trước tiên bạn tạo một từ điển được đặt hàng,

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65. Vòng lặp
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
20 lặp lại các phím được sắp xếp của nó và di chuyển mọi mục đến cuối từ điển. Khi vòng lặp kết thúc, từ điển được đặt hàng của bạn có các mục được sắp xếp theo phím.comparison key from each element of the input iterable,
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
76. Then you use
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1 to sort
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65.

Sắp xếp từ điển theo các giá trị sẽ là một bài tập thú vị, vì vậy hãy mở rộng khối bên dưới và thử!

Sắp xếp từ điển sau theo các giá trị:

Là một gợi ý hữu ích để thực hiện một giải pháp, hãy xem xét sử dụng hàm

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67.

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
7

Bạn có thể mở rộng khối bên dưới để xem một giải pháp khả thi.

Bạn có thể sử dụng hàm

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 để truy xuất giá trị của từng cặp giá trị khóa trong
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65 và sử dụng hàm đó làm đối số
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
49 thành
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
71:

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
8

Trong mã này, bạn sử dụng hàm

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 trả về giá trị của từng cặp giá trị khóa trong
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65. Cuộc gọi đến
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
71 sử dụng hàm
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 này để trích xuất một khóa so sánh từ mỗi phần tử của đầu vào có thể điều chỉnh được,
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
76. Sau đó, bạn sử dụng
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1 để sắp xếp
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65.

Tuyệt quá! Bây giờ bạn đã biết cách sắp xếp lại các từ điển được đặt hàng của bạn bằng cách sử dụng >>> from collections import OrderedDict >>> numbers = OrderedDict(one=1, two=2, three=3) >>> del numbers["one"] >>> numbers OrderedDict([('two', 2), ('three', 3)]) >>> numbers["one"] = 1 >>> numbers OrderedDict([('two', 2), ('three', 3), ('one', 1)]) 1. Bạn đã sẵn sàng để chuyển sang phần tiếp theo.

Loại bỏ các mục bằng

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2

>>>

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
9

Một tính năng thú vị khác của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 là phiên bản nâng cao của
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2. Theo mặc định,
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2 sẽ xóa và trả về một mục theo thứ tự LIFO (lần cuối/lần đầu tiên). Nói cách khác, nó loại bỏ các mục từ đầu bên phải của từ điển đã đặt hàng:

Tại đây, bạn loại bỏ tất cả các mục khỏi

>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> # Iterate over the keys directly
>>> for key in numbers:
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the items using .items()
>>> for key, value in numbers.items():
...     print(key, "->", value)
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the keys using .keys()
>>> for key in numbers.keys():
...     print(key, "->", numbers[key])
...
one -> 1
two -> 2
three -> 3

>>> # Iterate over the values using .values()
>>> for value in numbers.values():
...     print(value)
...
1
2
3
7 bằng
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2. Mỗi cuộc gọi đến phương thức này sẽ loại bỏ một mục từ cuối từ điển cơ bản. Nếu bạn gọi
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2 trên một từ điển trống, thì bạn sẽ nhận được
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
51. Cho đến thời điểm này,
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2 hành xử giống như trong từ điển thông thường.

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
0

Tuy nhiên, trong

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3,
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2 cũng chấp nhận một đối số boolean gọi là
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
52, mặc định là
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
53. Nếu bạn đặt
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
52 thành
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
54, thì
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2 sẽ xóa các mục theo thứ tự FIFO (đầu tiên/đầu tiên), điều đó có nghĩa là nó sẽ loại bỏ các mục từ đầu từ điển:

Với

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
52 được đặt thành
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
53, bạn có thể sử dụng
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2 để xóa và trả lại các mục từ đầu của một từ điển được đặt hàng. Trong ví dụ này, cuộc gọi cuối cùng đến
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2 tăng
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
51 vì từ điển cơ bản đã trống.

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
1

Kiểm tra sự bình đẳng giữa các từ điển

Trong ví dụ này,

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
02 có một chút khác biệt trong thứ tự các mục của nó so với
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
03 và
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
04, do đó, thử nghiệm đầu tiên trả về
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
54. Trong thử nghiệm thứ hai,
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
03 và
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
04 có cùng một bộ các mục, theo cùng một thứ tự, vì vậy thử nghiệm trả về
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
53.

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
2

Nếu bạn thử ví dụ tương tự bằng cách sử dụng từ điển thông thường, thì bạn sẽ nhận được một kết quả khác:

Bạn có thể sử dụng thuộc tính từ điển theo thứ tự

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 để lưu trữ các thuộc tính thể hiện có thể ghi được tạo động. Có nhiều hướng khác nhau để làm điều đó. Ví dụ: bạn có thể sử dụng một bài tập theo kiểu từ điển, như trong
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
17. Bạn cũng có thể sử dụng ký hiệu dấu chấm, như trong
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
18.

Ở đây, một ví dụ về việc sử dụng

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 để đính kèm một hàm mới vào từ điển đã đặt hàng hiện có:

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
3

Bây giờ bạn có chức năng

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
20
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 được đính kèm với từ điển được đặt hàng
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65 của bạn. Lưu ý rằng bạn có thể kiểm tra nội dung của
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 bằng cách truy cập trực tiếp với ký hiệu dấu chấm hoặc bằng cách sử dụng
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
24.dot notation or by using
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
24.

Bạn có thể sử dụng chức năng được thêm động này để lặp lại thông qua các khóa từ điển theo thứ tự được sắp xếp mà không thay đổi thứ tự ban đầu trong

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65:

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
4

Bây giờ bạn có chức năng

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
20
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 được đính kèm với từ điển được đặt hàng
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65 của bạn. Lưu ý rằng bạn có thể kiểm tra nội dung của
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 bằng cách truy cập trực tiếp với ký hiệu dấu chấm hoặc bằng cách sử dụng
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
24.

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
5

Bây giờ bạn có chức năng

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
20
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 được đính kèm với từ điển được đặt hàng
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65 của bạn. Lưu ý rằng bạn có thể kiểm tra nội dung của
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 bằng cách truy cập trực tiếp với ký hiệu dấu chấm hoặc bằng cách sử dụng
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
24.

Bạn có thể sử dụng chức năng được thêm động này để lặp lại thông qua các khóa từ điển theo thứ tự được sắp xếp mà không thay đổi thứ tự ban đầu trong >>> from collections import OrderedDict >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)]) >>> numbers OrderedDict([('one', 1), ('two', 2), ('three', 3)]) >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)}) >>> letters OrderedDict([('c', 3), ('a', 1), ('b', 2)]) 65:

Đây chỉ là một ví dụ về mức độ hữu ích của tính năng này của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3. Lưu ý rằng bạn có thể làm một cái gì đó tương tự với một từ điển thông thường:merge (
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
29) and update (
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
30) dictionary operators. These operators also work with
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 instances:

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
6

Bây giờ bạn có chức năng

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
20
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 được đính kèm với từ điển được đặt hàng
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65 của bạn. Lưu ý rằng bạn có thể kiểm tra nội dung của
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 bằng cách truy cập trực tiếp với ký hiệu dấu chấm hoặc bằng cách sử dụng
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
24.

Bạn có thể sử dụng chức năng được thêm động này để lặp lại thông qua các khóa từ điển theo thứ tự được sắp xếp mà không thay đổi thứ tự ban đầu trong

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65:

>>>

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
7

Bây giờ bạn có chức năng

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
20
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
67 được đính kèm với từ điển được đặt hàng
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
65 của bạn. Lưu ý rằng bạn có thể kiểm tra nội dung của
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 bằng cách truy cập trực tiếp với ký hiệu dấu chấm hoặc bằng cách sử dụng
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
24.

Bạn có thể sử dụng chức năng được thêm động này để lặp lại thông qua các khóa từ điển theo thứ tự được sắp xếp mà không thay đổi thứ tự ban đầu trong >>> from collections import OrderedDict >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)]) >>> numbers OrderedDict([('one', 1), ('two', 2), ('three', 3)]) >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)}) >>> letters OrderedDict([('c', 3), ('a', 1), ('b', 2)]) 65:

Đây chỉ là một ví dụ về mức độ hữu ích của tính năng này của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3. Lưu ý rằng bạn có thể làm một cái gì đó tương tự với một từ điển thông thường:

Nếu bạn cố gắng tự động thêm các thuộc tính thể hiện tùy chỉnh vào từ điển thông thường, thì bạn sẽ nhận được một

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
27 nói với bạn rằng từ điển cơ bản không có thuộc tính nào. Điều đó bởi vì từ điển thông thường don don có thuộc tính
>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 để giữ các thuộc tính thể hiện mới.

Hợp nhất và cập nhật từ điển với các nhà khai thác

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
8

Python 3.9 đã thêm hai toán tử mới vào không gian từ điển. Bây giờ bạn có các toán tử từ điển hợp nhất (

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
29) và cập nhật (____230). Các nhà khai thác này cũng làm việc với các trường hợp
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3:

Như tên của nó cho thấy, toán tử hợp nhất hợp nhất hai từ điển thành một từ mới chứa các mục của cả hai từ điển ban đầu. Nếu các từ điển trong biểu thức có các khóa chung, thì các giá trị từ điển ngoài cùng bên phải sẽ chiếm ưu thế.

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
9

Nhà điều hành cập nhật rất tiện dụng khi bạn có từ điển và muốn cập nhật một số giá trị của nó mà không cần gọi

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
14:

Trong ví dụ này, bạn sử dụng toán tử cập nhật từ điển để cập nhật thông tin trọn đời của Newton. Nhà điều hành cập nhật một từ điển tại chỗ. Nếu từ điển cung cấp dữ liệu cập nhật có các khóa mới, thì các khóa đó được thêm vào cuối từ điển gốc.

>>>

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
0

Xem xét hiệu suất

Cả hai triển khai của

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 liên quan đến việc sử dụng danh sách được liên kết gấp đôi để nắm bắt thứ tự của các mục. Mặc dù có thời gian tuyến tính cho một số hoạt động, việc triển khai danh sách được liên kết trong
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 được tối ưu hóa cao để duy trì thời gian nhanh của các phương pháp từ điển tương ứng. Điều đó nói rằng, các hoạt động trên một từ điển được đặt hàng là O (1) nhưng với một yếu tố không đổi lớn hơn so với từ điển thông thường.

Nói chung,

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 có hiệu suất thấp hơn từ điển thông thường. Ở đây, một ví dụ đo lường thời gian thực hiện của một số hoạt động trên cả hai lớp từ điển:

Tính năng
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4
Lệnh chèn chính được duy trìCó (kể từ Python 3.1)Có (kể từ Python 3.6)
Khả năng đọc và tín hiệu ý định liên quan đến thứ tự của các mặt hàngCaoThấp
Kiểm soát thứ tự của các mặt hàngCao (
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1, nâng cao
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2)
Yêu cầu thấp (loại bỏ và kiểm tra lại các mục)
Hiệu suất hoạt độngThấpCao
ThấpCaoThấp
Kiểm soát thứ tự của các mặt hàngCao (
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
1, nâng cao
>>> from collections import OrderedDict
>>> numbers = OrderedDict(one=1, two=2, three=3)

>>> del numbers["one"]
>>> numbers
OrderedDict([('two', 2), ('three', 3)])

>>> numbers["one"] = 1
>>> numbers
OrderedDict([('two', 2), ('three', 3), ('one', 1)])
2)
Yêu cầu thấp (loại bỏ và kiểm tra lại các mục)
Hiệu suất hoạt độngTiêu thụ bộ nhớCác bài kiểm tra bình đẳng xem xét thứ tự của các mặt hàng
ĐúngKhôngYêu cầu thấp (loại bỏ và kiểm tra lại các mục)
Hiệu suất hoạt độngTiêu thụ bộ nhớTiêu thụ bộ nhớ

Các bài kiểm tra bình đẳng xem xét thứ tự của các mặt hàng

Đúng

Không

Hỗ trợ lặp lạienqueue operation. Queues also implement an operation to remove items from their beginning, which is known as a dequeue operation.

Có (kể từ Python 3.5)

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
1

Có (kể từ Python 3.8)

Khả năng nối các thuộc tính thể hiện mới

Có (

>>> from collections import OrderedDict

>>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])

>>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
>>> letters
OrderedDict([('c', 3), ('a', 1), ('b', 2)])
43 thuộc tính)

Hỗ trợ cho các toán tử từ điển hợp nhất (

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
29) và Update (
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
30)string representation of the queue when you print the data structure to the screen.

Có (kể từ Python 3.9)

Bảng này tóm tắt một số khác biệt chính giữa

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3 và
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
4 mà bạn nên xem xét khi bạn cần chọn một lớp từ điển để giải quyết vấn đề hoặc thực hiện một thuật toán cụ thể. Nói chung, nếu thứ tự các mục trong từ điển là rất quan trọng hoặc thậm chí quan trọng để mã của bạn hoạt động chính xác, thì cái nhìn đầu tiên của bạn sẽ hướng tới
Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3.

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
2

Xây dựng hàng đợi dựa trên từ điển

Thông thường, hàng đợi thực hiện một hoạt động để thêm một mục vào cuối của chúng, được gọi là hoạt động enqueue. Hàng đợi cũng thực hiện một hoạt động để loại bỏ các mục từ đầu của chúng, được gọi là hoạt động dequeue.order of items is important. So Python developers created

Python 3.5.10 (default, Jan 25 2021, 13:22:52)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('three', 3), ('two', 2)])
3, which was specially designed to keep its items ordered.

Để tạo hàng đợi dựa trên từ điển, hãy kích hoạt Trình chỉnh sửa mã hoặc IDE của bạn, hãy tạo một mô-đun Python mới có tên

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
61 và thêm mã sau vào nó:

Trong

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
62, trước tiên bạn khởi tạo một thuộc tính thể hiện được gọi là
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
63. Thuộc tính này chứa một từ điển được đặt hàng trống mà bạn sẽ sử dụng để lưu trữ dữ liệu. Trình khởi tạo lớp có một đối số tùy chọn đầu tiên,
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
64, cho phép bạn cung cấp dữ liệu ban đầu khi bạn khởi tạo lớp. Bộ khởi tạo cũng có các đối số từ khóa tùy chọn (
Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
65) để cho phép bạn sử dụng các đối số từ khóa trong hàm tạo.

  • Sau đó, bạn mã
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    66, cho phép bạn thêm các cặp giá trị khóa vào hàng đợi. Trong trường hợp này, bạn sử dụng
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    1 nếu khóa đã tồn tại và bạn sử dụng một bài tập bình thường cho các khóa mới. Lưu ý rằng để phương pháp này hoạt động, bạn cần cung cấp một
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    00 hoặc
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> # Iterate over the keys directly
    >>> for key in numbers:
    ...     print(key, "->", numbers[key])
    ...
    one -> 1
    two -> 2
    three -> 3
    
    >>> # Iterate over the items using .items()
    >>> for key, value in numbers.items():
    ...     print(key, "->", value)
    ...
    one -> 1
    two -> 2
    three -> 3
    
    >>> # Iterate over the keys using .keys()
    >>> for key in numbers.keys():
    ...     print(key, "->", numbers[key])
    ...
    one -> 1
    two -> 2
    three -> 3
    
    >>> # Iterate over the values using .values()
    >>> for value in numbers.values():
    ...     print(value)
    ...
    1
    2
    3
    
    9 hai mục với một cặp giá trị khóa hợp lệ.
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 objects
    in your code
  • Việc triển khai
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    70 sử dụng
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    2 với
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    52 được đặt thành
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    54 để xóa và trả lại các mục từ đầu từ điển được đặt hàng cơ bản,
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    63. Trong trường hợp này, bạn sử dụng khối
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    75
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    76 để xử lý
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict([("one", 1), ("two", 2), ("three", 3)])
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    >>> letters = OrderedDict({("a", 1), ("b", 2), ("c", 3)})
    >>> letters
    OrderedDict([('c', 3), ('a', 1), ('b', 2)])
    
    51 xảy ra khi bạn gọi
    >>> from collections import OrderedDict
    >>> numbers = OrderedDict(one=1, two=2, three=3)
    
    >>> del numbers["one"]
    >>> numbers
    OrderedDict([('two', 2), ('three', 3)])
    
    >>> numbers["one"] = 1
    >>> numbers
    OrderedDict([('two', 2), ('three', 3), ('one', 1)])
    
    2 trên một từ điển trống.differences are between
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 and
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4
  • Phương pháp đặc biệt
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    79 cung cấp chức năng cần thiết để truy xuất độ dài của từ điển được đặt hàng nội bộ,
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    63. Cuối cùng, phương pháp đặc biệt
    Python 3.9.0 (default, Oct  5 2020, 17:52:02)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('two', 2), ('three', 3)])
    
    81 cung cấp biểu diễn chuỗi thân thiện với người dùng của hàng đợi khi bạn in cấu trúc dữ liệu lên màn hình.pros and cons are of using
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    3 vs
    Python 3.5.10 (default, Jan 25 2021, 13:22:52)
    [GCC 9.3.0] on linux
    Type "help", "copyright", "credits" or "license" for more information.
    >>> from collections import OrderedDict
    
    >>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
    >>> numbers
    OrderedDict([('one', 1), ('three', 3), ('two', 2)])
    
    4

Dưới đây là một số ví dụ về cách bạn có thể sử dụng

Python 3.9.0 (default, Oct  5 2020, 17:52:02)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from collections import OrderedDict

>>> numbers = OrderedDict({"one": 1, "two": 2, "three": 3})
>>> numbers
OrderedDict([('one', 1), ('two', 2), ('three', 3)])
62:

>>>