如何在python中测试多个键的存在?

时间:2012-05-31 14:07:21

标签: python django

我从我的服务器收到一个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
)

等。当然,这很好用,只是觉得我做错了。是否有更多的蟒蛇方式来实现这一目标?谢谢。

1 个答案:

答案 0 :(得分:6)

name = incoming.get('name')
age = incoming.get('age')

字典有一个.get()方法,可以使用1个参数(你正在查找的内容)或2个参数(你正在查找的内容,以及未找到的默认值)调用。默认情况下,使用1参数,如果没有找到任何内容,则get将返回None,因此您可以保持原样。