dic = {"t": [{"x": 0}, {"x": 1}, {"x": 2}]}
print(dic)
dic["t"] = dic["t"].append({"x": 3})
print(dic)
实际结果:{'t': None}
期望结果:{'t': [{'x': 0}, {'x': 1}, {'x': 2}, {"x": 3}]}
可能很简单,我只是不知道要找什么。
append
方法,,它不输出任何东西(好吧,它输出None
)。当您运行dic["t"] = dic["t"].append({"x": 3})
时,您将初始列表替换为None。
你需要做的是:
dic["t"].append({"x": 3})
完整代码:
dic = {"t": [{"x": 0}, {"x": 1}, {"x": 2}]}
print(dic)
dic["t"].append({"x": 3})
print(dic)
输出:
{'t': [{'x': 0}, {'x': 1}, {'x': 2}]}
{'t': [{'x': 0}, {'x': 1}, {'x': 2}, {'x': 3}]}
append()
返回None
,而不是您所期望的应用该方法的列表。变化:
dic["t"] = dic["t"].append({"x": 3})
:
dic["t"].append({"x": 3})
另一个选项是这样做:
dic = {"t": [{"x": 0}, {"x": 1}, {"x": 2}]}
print(dic)
dic["t"] += [{"x": 3}]
print(dic)
尝试只做dic["t"].append({"x":3})
,因为append
更新列表,但返回None
,所以你的新值将是None
。相反,只需更新值。