【发布时间】:2022-06-22 21:51:54
【问题描述】:
对不起,如果这是一个菜鸟问题,但关于 OrderedDict 它的类型究竟返回了什么?例如下面的代码
od = OrderedDict()
od['a'] = 1
od['b'] = 2
od['c'] = 3
od['d'] = 4
print(od)
结果是:
OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])
结果集似乎是列表中的一对元组,对吗?但实际上我能够像访问字典一样访问它:
print(od['a'])
1
您能否澄清一下我出了什么问题以及结果是如何解释的? 问候
【问题讨论】:
-
OrderedDict的 str 表示向您传达了它是有序的事实。这是一个键值元组的有序列表 -
您正在打印有序 dict 的表示,它向您展示了创建相同有序 dict 的一种方法。
-
谢谢,但为什么它的格式像元组?这让我很困惑
-
@Amir 因为
od == OrderedDict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])->True -
因为 dict 构造函数可以采用 2-tuples 的可迭代对象并将其变成 dict。您可以复制粘贴结果并运行它以重新创建相同的
OrderedDict。此外,dict([('a', 1), ('b', 2), ('c', 3), ('d', 4)])也可以正常工作
标签: python