2024-09-30 06:20:31 发布
网友
在python 3.7^中,如果dict中的键无效,是否可以使用or操作符
3.7^
dict
or
value = myDict['invalidKey'] or 'Default' print(value) # Has to show 'Default' and don't raise the [KeyError: 'invalidKey'] exception
不是以您编写的方式,因为[]运算符在计算or表达式的右侧之前引发异常
[]
正确的方法是使用get函数:
get
value = myDict.get('invalidKey', 'Default')
如果问题更具学术性:第二个参数默认为^{,那么您可以这样做:
value = myDict.get('invalidKey') or 'Default'
但请注意,(a)这是较少的Pythonic,并且(b)它将返回'Default'实际存在于myDict中的falsy值,如0、None、False、[]和''
'Default'
myDict
0
None
False
''
如果我理解正确的话。可以使用三元运算符。例如
my_dict = { 'key': "Wow" } value = my_dict.get('key') if 'key' in my_dict.keys() else 'Default' print(value)
不是以您编写的方式,因为
[]
运算符在计算or
表达式的右侧之前引发异常正确的方法是使用
get
函数:如果问题更具学术性:第二个参数默认为^{,那么您可以这样做:
但请注意,(a)这是较少的Pythonic,并且(b)它将返回
'Default'
实际存在于myDict
中的falsy值,如0
、None
、False
、[]
和''
如果我理解正确的话。可以使用三元运算符。例如
相关问题 更多 >
编程相关推荐