小编Kas*_*nen的帖子

从 Python 字典有条件地获取值的最佳实践

我在 python 中有一个非常标准结构的字典。如果存在,我想检索一个值,如果不检索另一个值。如果由于某种原因缺少两个值,我需要抛出一个错误。

字典示例:

# Data that has been modified
data_a = {
    "date_created": "2020-01-23T16:12:35+02:00",
    "date_modified": "2020-01-27T07:15:00+02:00"
}

# Data that has NOT been modified
data_b = {
    "date_created": "2020-01-23T16:12:35+02:00",
}
Run Code Online (Sandbox Code Playgroud)

这方面的最佳做法是什么?什么是一种直观且易于阅读的方法来做到这一点?

我目前这样做的方式:

mod_date_a = data_a.get('date_modified', data_a.get('date_created', False))
# mod_data_a = "2020-01-27T07:15:00+02:00"

mod_date_b = data_b.get('date_modified', data_b.get('date_created', False))
# mod_data_b = "2020-01-23T16:12:35+02:00"

if not mod_date_a or not mod_date_b:
    log.error('Some ERROR')
Run Code Online (Sandbox Code Playgroud)

这个嵌套get()看起来有点笨拙,所以我想知道是否有人有更好的解决方案。

python dictionary python-3.x

5
推荐指数
3
解决办法
488
查看次数

标签 统计

dictionary ×1

python ×1

python-3.x ×1