当我尝试附加到似乎是列表的字典值时,这里发生了什么?看来我不能。
>>>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)