我有一个字典将值存储为每个键的列表。例如:将项添加到Python中的字典中
dict1={}
dict1["A"]=[]
我想将数字追加到此列表中,但是如何正确执行此操作?我试过dict1["A"]=dict1["A"].append(1)
这个只附加了"None"
。我该怎么做呢?
我有一个字典将值存储为每个键的列表。例如:将项添加到Python中的字典中
dict1={}
dict1["A"]=[]
我想将数字追加到此列表中,但是如何正确执行此操作?我试过dict1["A"]=dict1["A"].append(1)
这个只附加了"None"
。我该怎么做呢?
你只需要调用append()
dict1["A"].append(1)
由于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]}
这可能是因为你设置的附加价值,它返回'None'的关键价值。 – squiguy 2013-04-07 17:30:57