2010-12-23 65 views
0

我想利用这个代码的其他值蟒蛇:检查变量定义,并返回其值或返回

result = arr['key1'] or arr['key2'] or arr['key3'] 

解释: 我想从任何一个或字典键有结果值的..密钥的可用性取决于环境。这不是无..只可能被定义ARR的关键之一...

所以是有一个函数或方法类似is_defined()

我们如何在Python做到这一点?

UPDATE

我在这里一个新的问题.. CODE 1:

try: 
    urlParams += "%s=%s&"%(val['name'], data.get(val['name'], serverInfo_D.get(val['name']))) 
except KeyError: 
    print "expected parameter not provided - "+val["name"]+" is missing" 
    exit(0) 

代码2:

try: 
    urlParams += "%s=%s&"%(val['name'], data.get(val['name'], serverInfo_D[val['name']])) 
except KeyError: 
    print "expected parameter not provided - "+val["name"]+" is missing" 
    exit(0) 

看到serverInfo_D [VAL [之探源“名称']] & serverInfo_D.get(val ['name']) 代码2失败,但代码1工作

数据

serverInfo_D:{'user': 'usr', 'pass': 'pass'} 
data: {'par1': 9995, 'extraparam1': 22} 
val: {'par1','user','pass','extraparam1'} 

异常数据上调了数据字典..并在循环中的所有代码,迭代VAL

回答

7
result = arr.get('key1', arr.get('key2', arr.get('key3'))) 
+0

@马克:那么它会采取`None`。这似乎是古特姆想要的。 – 2010-12-23 06:49:29