1

当我尝试附加到似乎是列表的字典值时,这里发生了什么?看来我不能。

>>>b={}

>>>b["input"]=[3,4,5]

>>>b
{'input': [3, 4, 5]}

>>>b["input"]=b["input"].append(3)

>>>b
{'input': None}

我在这里错过了什么吗?

4

4 回答 4

3

append是一个就地方法并且总是返回None. 您的代码应该是:

b["input"]=b["input"] + [3]

甚至更好:

b["input"].append(3)
于 2013-10-10T20:55:44.200 回答
2

您正在重新分配b["input"]的返回值append,这会更改列表并且不返回任何内容。

只需将其更改到位:

b["input"].append(3)
于 2013-10-10T20:55:33.113 回答
2

b["input"].append(3)返回None,您将其分配回b["input"]。因此,该键的值变为None

只需删除作业部分。

>>> b["input"].append(3)
于 2013-10-10T20:55:41.013 回答
2

当您使用b["input"].append(3)时,它会修改字典,但是!它不返回任何东西

所以你最好这样做b["input"].append(3)

于 2013-10-10T21:00:51.590 回答