OrderedDict中的函数有问题

时间:2019-06-28 03:56:19

标签: python

如果我有

foo = OrderedDict[("key", lambda: "value")]

我明白了

TypeError: 'type' object has no attribute '__getitem__'

这是怎么回事?这不行吗?

2 个答案:

答案 0 :(得分:1)

我不确定您要做什么,但是不,这不起作用。您正在尝试访问一种类型,就像它是一个包含要引用的数据的对象一样。

OrderedDict是一种类型。这不是一个对象。它不包含任何数据,因此通过直接对它应用[]运算符来尝试引用它好像包含了数据是没有意义的。您需要创建OrderedDict类型的实例。

我猜这是您要使用的,它创建了一个新的OrderedDict,其中只有一个带有键“ key”的项目:

foo = OrderedDict([("key", lambda: "value")])
print(foo["key"]())

哪个给出结果:

value

答案 1 :(得分:0)

我忘了在括号中加上括号。