Python - AI 助手

Python collections.OrderedDict



在 Python 中,OrderedDict 是字典的一个子类,它记住插入的键的顺序。OrderedDict()dict() 之间的唯一区别在于它们处理键顺序的方式。

标准字典在迭代时不保证任何特定顺序,而 OrderedDict 提供了将键添加到字典中的特定顺序,并在迭代时保持相同的顺序。

语法

以下是 Python OrderedDict() 类的语法:

collections.OrderedDict()

参数

它接受字典作为参数。

返回值

它返回有序字典。

示例

以下是 Python OrderedDict() 的基本示例:

# A Python program to demonstrate working of OrderedDict
from collections import OrderedDict
od = OrderedDict()
od['a'] = 1
od['b'] = 2
od['c'] = 3
od['d'] = 4

for key, value in od.items():
    print(key,":",value)

以下是上述代码的输出:

a : 1
b : 2
c : 3
d : 4

OrderedDict 中的键值更改

我们可以更改键的值,但位置在 OrderedDict() 中保持不变。

示例

这里,我们定义了一个 OrderedDict() 并更改了键值,但顺序保持不变:

# A Python program to demonstrate working of key
# value change in OrderedDict
from collections import OrderedDict
od = OrderedDict()
od['a'] = 1
od['b'] = 2
od['c'] = 3
od['d'] = 4
print("The Original OrderedDict :",od)
od['c'] = 5
print("The OrderedDict after changing key value :",od)

以下是上述代码的输出:

The Original OrderedDict : OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
The OrderedDict after changing key value : OrderedDict([('a', 1), ('b', 2), ('c', 5), ('d', 4)])

OrderedDict 中的相等性比较

我们可以使用 相等[==] 运算符比较两个 OrderedDict()。此运算符检查两个 OrderedDict 的键和值是否相同。不仅检查键和值,还检查 OrderedDict() 中项目的顺序。

示例

在以下示例中,我们比较了两个 OrderedDict(),因为这两个字典不相等,所以返回了 False

from collections import OrderedDict
# Create two ordered dictionaries with different orderings
od1 = OrderedDict([('one', 1), ('two', 2), ('three', 3)])
od2 = OrderedDict([('three', 3), ('two', 2), ('one', 1)])
# Compare the ordered dictionaries for equality
print("Comparison of the two OrderedDict :",od1 == od2)  

以下是上述代码的输出:

Comparison of the two OrderedDict : False

move_to_end() 和 update() 的用法

我们可以使用 update() 方法更新 OrderedDict。使用 move_to_end(),我们可以将键移动到字典的末尾。它接受键和 last 参数。如果 last 为 True,则将键移动到字典的末尾,否则移动到字典的开头。

示例

这里,我们定义了 OrderedDict 并更新了两个值,因为 lastFalse,所以键被移动到 OrderedDict() 的开头:

from collections import OrderedDict
# Create an ordered dictionary of key-value pairs
my_dict = OrderedDict([('one', 1), ('two', 2)])
# Add a new item to the end of the dictionary
my_dict['four'] = 4
# Add a new item at a specific position in the dictionary
my_dict.update([('five', 5)])
my_dict.move_to_end('five', last=False)
print(my_dict)

以下是上述代码的输出:

OrderedDict([('five', 5), ('one', 1), ('two', 2), ('four', 4)])
python_modules.htm
广告
© . All rights reserved.