我有一个字典,将值存储为每个键的列表。例如:
dict1={}
dict1["A"]=[]
我现在想将数字附加到此列表中,但我该如何正确执行此操作?我试过dict1["A"]=dict1["A"].append(1)
这只是附加"None"
的。我该怎么做呢?
我有一个字典,将值存储为每个键的列表。例如:
dict1={}
dict1["A"]=[]
我现在想将数字附加到此列表中,但我该如何正确执行此操作?我试过dict1["A"]=dict1["A"].append(1)
这只是附加"None"
的。我该怎么做呢?
你只需要打电话append()
dict1["A"].append(1)
由于自身的返回值为None,因此您的版本只是在成功将项目添加到列表后append()
替换了旧值(列表) 。None
快速演示:
>>> dict1 = {'A': []}
>>> dict1['A'].append(1)
>>> dict1
{'A': [1]}
在 Python 中,就地操作,例如追加到列表,返回None
:
>>> alist = []
>>> alist.append(1) is None
True
>>> alist
[1]
但如您所见,列表本身已更改。
无需重新分配。做吧dict1["A"].append(1)
。
您所做的错误是dict1["A"].append(1)
返回None
,并且您将其分配回dict1
. 这解释了None
你得到...
那是因为append()
就地更改列表并返回None
。在您的代码中,您将返回的值分配给dict1["A"]
In [25]: dict1={}
In [26]: dict1["A"]=[]
In [27]: dict1["A"].append(1) #try print dict1["A"].append(1) here
In [28]: dict1
Out[28]: {'A': [1]}