gpt4 book ai didi

Python dict.get() 或 None 场景

转载 作者:行者123 更新时间:2023-12-04 12:07:43 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Truth value of a string in python

(3 个回答)


5年前关闭。




我试图根据我拥有的键列表访问字典的值。如果 key 不存在,我默认为无。但是,当值为空字符串 '' 时,我遇到了麻烦。请参阅下面的代码以获取我的示例

dict = {}
dict['key'] = ''
test = dict.get('key')
print(test)
>>

以上是预期的,并且打印了空字符串。但是现在看看当我将 dict.get() 函数默认为 None 如果键不存在时会发生什么
dict = {}
dict['key'] = ''
test = dict.get('key') or None
print(test)
>> None

为什么会发生这种情况?在第二个示例中, key 存在,所以我的直觉是 '' 应该打印。 Python 如何应用该行代码的“or”子句?

下面是我用来访问我的字典的实际代码。请注意,字典中的许多键都以 '' 作为值,因此是我的问题。
# 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)

最佳答案

你不需要or None根本。 dict.get返回 None默认情况下,当它在字典中找不到提供的键时。
最好咨询 documentation在这些情况下:

get(key[, default])

Return the value for key if key is in the dictionary, else default. If default is not given, it defaults to None, so that this method never raises a KeyError.

关于Python dict.get() 或 None 场景,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37165403/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com