python: 检查变量是否定义并返回其值或其他值
我正在尝试使用这段代码
result = arr['key1'] or arr['key2'] or arr['key3']
解释一下: 我想从字典的键中获取值,但这些键的可用性取决于环境。这不是关于 None 的问题……可能只有一个 arr 的键是定义好的……
所以有没有像 is_defined() 这样的函数或方法呢?
我们在 Python 中怎么做呢?
更新
我在这里遇到了一个新问题…… 代码 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['name']] 和 serverInfo_D.get(val['name']) 的区别 代码 2 失败了,但代码 1 成功了
数据
serverInfo_D:{'user': 'usr', 'pass': 'pass'}
data: {'par1': 9995, 'extraparam1': 22}
val: {'par1','user','pass','extraparam1'}
在数据字典中引发了异常……而且在循环中所有遍历 val 的代码都会出错
1 个回答
7
result = arr.get('key1', arr.get('key2', arr.get('key3')))
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。