我需要python 2.7中字典更新功能的相关帮助
我想通过一个函数返回一个依赖于if-else条件语句的更新字典。但每次它都返回null值而不是更新的值。我想更新字典并在单行上返回它。为什么更新函数分配空值而不是更新值我需要python 2.7中字典更新功能的相关帮助,python,python-2.7,Python,Python 2.7,我想通过一个函数返回一个依赖于if-else条件语句的更新字典。但每次它都返回null值而不是更新的值。我想更新字典并在单行上返回它。为什么更新函数分配空值而不是更新值 def to_json(condition=True): ls = ["abc", "xyz", "123"] dis = { "id": 123, "value": "1122" } if condition is False: return di
def to_json(condition=True):
ls = ["abc", "xyz", "123"]
dis = {
"id": 123,
"value": "1122"
}
if condition is False:
return dis
else:
return dis.update({"Key": ls})
print(to_json())
输出:
没有
而不是:
{id':123,'value':'1122',Key':['abc',xyz',123']}函数不返回任何内容,因此通过返回更新dict的调用,您将始终收到无
如果在return语句之前将udpate设置为dict,然后返回dict,您应该会看到结果
def to_json(condition=True):
ls = ["abc", "xyz", "123"]
dis = {
"id": 123,
"value": "1122"
}
if condition is False:
return dis
else:
dis.update({"Key": ls})
return dis
print(to_json())
这并不能回答您的问题,但有一些风格提示:如果条件不成立,请使用if not condition:
代替if condition为False:
,使用dis[“Key”]=ls
代替dis.update({“Key”:ls})
。谢谢Matt B!我已经找到了答案:“这个.update()方法修改了字典,但不返回任何结果。字典本身被修改了,不需要返回修改过的字典。”