我正在尝试根据我拥有的键列表访问字典的值。如果密钥不存在,我默认为无。但是,当值为空字符串 “ 时,我遇到了麻烦。请参阅下面的代码以获取我的示例
dict = {}
dict['key'] = ''
test = dict.get('key')
print(test)
>>
如上所示,打印了空字符串。但是现在看看如果密钥不存在,当我将 dict.get() 函数默认为 None 时会发生什么
dict = {}
dict['key'] = ''
test = dict.get('key') or None
print(test)
>> None
为什么会这样?在第二个示例中,密钥存在,所以我的直觉是应该打印 ” 。 Python 如何应用该行代码的“或”子句?
下面是我用来访问我的字典的实际代码。请注意,字典中的许多键都有 “ 作为值,因此我的问题。
# build values list
params = []
for col in cols:
params.append(dict.get(col) or None)
有人可以提供最佳解决方案吗?我目前的解决方案如下,但我认为这不是最干净的选择
# build values list
params = []
for col in cols:
if dict.get(col) is not None:
params.append(dict.get(col))
else:
params.append(None)
原文由 ProgrammingWithRandy 发布,翻译遵循 CC BY-SA 4.0 许可协议
您根本不需要
or None
。dict.get
返回None
在字典中找不到提供的键时默认返回。在这些情况下查阅 文档 是个好主意: