当我尝试附加到似乎是列表的字典值时,这里发生了什么?看来我不能。
>>>b={}
>>>b["input"]=[3,4,5]
>>>b
{'input': [3, 4, 5]}
>>>b["input"]=b["input"].append(3)
>>>b
{'input': None}
我在这里错过了什么吗?
当我尝试附加到似乎是列表的字典值时,这里发生了什么?看来我不能。
>>>b={}
>>>b["input"]=[3,4,5]
>>>b
{'input': [3, 4, 5]}
>>>b["input"]=b["input"].append(3)
>>>b
{'input': None}
我在这里错过了什么吗?
append
是一个就地方法并且总是返回None
. 您的代码应该是:
b["input"]=b["input"] + [3]
甚至更好:
b["input"].append(3)
您正在重新分配b["input"]
的返回值append
,这会更改列表并且不返回任何内容。
只需将其更改到位:
b["input"].append(3)
b["input"].append(3)
返回None
,您将其分配回b["input"]
。因此,该键的值变为None
。
只需删除作业部分。
>>> b["input"].append(3)
当您使用b["input"].append(3)
时,它会修改字典,但是!它不返回任何东西!
所以你最好这样做b["input"].append(3)