2010-12-23 97 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