【发布时间】:2018-10-25 15:32:59
【问题描述】:
我需要一些 Python 重构建议。
我有一个 dict 对象列表 (new_monitors),可以为空。但是,当有新监视器时,我想向这些监视器添加一堆字段。
对于每个监视器,我想从 DogDump.HIDE_FIELDS 字典中附加所有 not None 字段:
if new_monitors:
for monitor in new_monitors:
for key, value in DogDump.HIDE_FIELDS.items():
if value:
monitor[key] = value
注意:下面的这个 sn-p 工作得很好,但它包含了所有的 None 字段。我不想要 None 字段!
if new_monitors:
for monitor in new_monitors:
monitor.update(DogDump.HIDE_FIELDS)
如何重构这个看起来更像pythonic的sn-p,但仍然保持良好的可读性?
【问题讨论】:
-
也许这个问题更适合CodeReview?
-
你可能是对的,我不知道这个功能存在。有没有办法移动这个问题,或者我应该在 CodeReview 部分重新创建它?我看到有一个
refactoring标签,所以我就在这里。
标签: python python-3.x dictionary refactoring