针对可迭代对象的不必要的字典推导式 (C420)
Derived from the flake8-comprehensions linter. (源自 flake8-comprehensions linter。)
有时提供修复。
作用
检查当从可迭代对象创建字典时,是否存在不必要的字典推导式。
为什么这不好?
当值是静态的时候,没有必要使用字典推导式从可迭代对象构建字典。
优先使用 dict.fromkeys(iterable)
而不是 {value: None for value in iterable}
,因为 dict.fromkeys
更具可读性和效率。
示例
建议改为
修复安全性
如果字典推导式中有注释,此规则的修复被标记为不安全,因为注释可能会被删除。
例如,在以下情况下,修复将被标记为不安全