【发布时间】:2012-12-28 16:25:37
【问题描述】:
对于从 Python 字典中的键/值对分配变量是否有明确的最佳实践:
- 如果密钥存在
- 如果键的值不是空字符串
否则为变量分配一个默认值。
我想使用dict.get:
my_value = dict.get(key, my_default)
但是,如果键存在且值为空字符串,则这会将空字符串分配给 my_value。使用以下内容是否更好:
if key in dict and dict[key]:
my_value = dict[key]
else:
my_value = my_default
这将利用空字符串的真实性来确保仅将非空字符串分配给my_value。
有没有更好的方法来执行此检查?
【问题讨论】:
-
dict.get没有分配任何东西。 -
dict.get() 不满足条件 #1。 需要两个表达式
-
我觉得这个问题的标题有误导性。这个问题特定于变量分配,而不是分支本身。
标签: python dictionary string