我从我的服务器收到一个JSON响应,其中有几个键可能存在,也可能不存在。在将它们传递给Django object.create方法之前,我主要使用一堆三元运算符来测试每个键。这是我正在处理的事情
incoming = {"name":"hackNightly", "age":25, "field":"web development"}
# here's where it gets nasty
name = incoming["name"] if "name" in incoming else None
age = incoming["age"] if "age" in incoming else None
user = User.objects.create(
name = name,
age = age
)
等。当然,这很好用,只是觉得我做错了。是否有更多的蟒蛇方式来实现这一目标?谢谢。
答案 0 :(得分:6)
name = incoming.get('name')
age = incoming.get('age')
字典有一个.get()
方法,可以使用1个参数(你正在查找的内容)或2个参数(你正在查找的内容,以及未找到的默认值)调用。默认情况下,使用1参数,如果没有找到任何内容,则get将返回None,因此您可以保持原样。