Python字典附加值错误

Python字典附加值错误,python,dictionary,append,Python,Dictionary,Append,我试图将值(列表)附加到字典中,但未成功。通过“equal”设置值是可行的,但追加则不行 DurationDict = dict() DurationDict[str(curYear)] = duration // This works DurationDict[str(curYear)].append(duration) //This does't work. 有什么想法吗?您可以附加到列表中,但不能附加到目录中。pythondicts是 如果要为所有词典条目创建一个列表,可以使用: de

我试图将值(列表)附加到字典中,但未成功。通过“equal”设置值是可行的,但追加则不行

DurationDict = dict()
DurationDict[str(curYear)] = duration  // This works
DurationDict[str(curYear)].append(duration) //This does't work.

有什么想法吗?

您可以附加到
列表中,但不能附加到
目录中。python
dict
s是

如果要为所有词典条目创建一个
列表
,可以使用:


defaultdict
的工作原理与普通的
dict
类似,不同之处在于它返回“工厂”的结果——在本例中,如果您正在查找的密钥尚不存在,则返回
list()
。然后可以附加到此(空)列表。

可以附加到
列表
,但不能附加到
目录
。python
dict
s是

如果要为所有词典条目创建一个
列表
,可以使用:


defaultdict
的工作原理与普通的
dict
类似,不同之处在于它返回“工厂”的结果——在本例中,如果您正在查找的密钥尚不存在,则返回
list()
。然后可以附加到此(空)列表。

如果要附加到dictionary的值,则该值应为
列表的一种类型

让我们考虑下面的例子:

>>> k = {"a":1}
>>> k["b"] = 2
>>> k["c"] = [2]
>>> k["c"].append("new value") # here you can append because value of c is type of list.
>>> print(k)
{'a': 1, 'c': [2, 'new value'], 'b': 2}
>>> k["b"].append("new value") # here you can not append because value of b is type of int 

如果要附加到dictionary的值,则该值应为
列表的类型

让我们考虑下面的例子:

>>> k = {"a":1}
>>> k["b"] = 2
>>> k["c"] = [2]
>>> k["c"].append("new value") # here you can append because value of c is type of list.
>>> print(k)
{'a': 1, 'c': [2, 'new value'], 'b': 2}
>>> k["b"].append("new value") # here you can not append because value of b is type of int 

您只能附加
列表
。如果您有一个空字典
d

d = {} # initialize an empty dictionary
d['a'].append(1) # will NOT work
但是如果您已经定义了一个空的
列表

d = {'a': []} # initialize with an empty list
df['a'].append(1) # will work

>>> d
{'a': [1]}

您只能附加
列表
。如果您有一个空字典
d

d = {} # initialize an empty dictionary
d['a'].append(1) # will NOT work
但是如果您已经定义了空的
list

d = {'a': []} # initialize with an empty list
df['a'].append(1) # will work

>>> d
{'a': [1]}

您可以将
附加到
列表中,但不能附加到
目录中。以下是。如果值的类型为列表,则只能将其附加到键的值。如果代码等于“duration.append(duration)”,则应确保duration是一个列表。因此,在提出此问题之前,您甚至没有检查文档?您可以将
附加到
列表中,但不能附加到
dict中。以下是。如果值的类型为list,则只能将其附加到键的值。如果代码等于“duration.append(duration)”,则应确保duration是一个列表。因此,在提出此问题之前,您甚至没有尝试检查文档?如果您向OP解释他们的尝试不起作用的原因,则此答案会有很大改进,以及为什么这能解决他们的问题(因为我相信这是OP问题的正确解决方案)。@SethMMorton:说得好。补充了一个简短的解释。为什么OP的方法不起作用是在我对帖子的第一个评论中。如果你向OP解释为什么他们的尝试不起作用,以及为什么这解决了他们的问题(因为我相信这是OP问题的正确解决方案),这个答案会有很大的改进。@SethMMorton:说得好。补充了一个简短的解释。为什么OP的方法不起作用,这是我对这篇文章的第一个评论。