2

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

等等。当然,这很好用,只是感觉我做错了什么。有没有更蟒蛇的方式来完成这个?谢谢你。

4

1 回答 1

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

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

于 2012-05-31T14:11:18.200 回答