导致AttributeError的多个词典?

时间:2016-09-02 14:18:01

标签: python dictionary tuples attributeerror

我有一个包含多个词典的变量:

a = {"foo": "foo"}, {"foo2": "foo2"}

但如果我这样做:

a.get("foo")

它返回AttributeError

AttributeError: 'tuple' object has no attribute 'get'

2 个答案:

答案 0 :(得分:3)

您正在为变量分配两个元素的元组,这两个元素是dicts。

此:

a = {"foo": "foo"}, {"foo2": "foo2"}

相当于:

a = ({"foo": "foo"}, {"foo2": "foo2"})

因此您无法以这种方式访问​​字典。

AttributeError: 'tuple' object has no attribute 'get'

告诉你要在元组上使用get属性,但是元组没有它。

解决问题

您可以分配给a变量,例如一个dict:

a = {"foo": "foo", "foo2": "foo2"}

在这种情况下,您可以使用:

a.get("foo")

将打印

foo

答案 1 :(得分:2)

Python中不存在多个词典。 如果您将a定义为:

a = {"foo": "foo"}, {"foo2": "foo2"}

a将是tuple。所以你必须按如下方式调用元素:

a[0].get("foo")

要使用a.get方法,您必须定义a,如下所示:

a = {"foo": "foo", "foo2": "foo2"}

现在a.get("foo")来电将作为输出"foo"