跳到内容

multi-value-repeated-key-literal (F601)

派生自 Pyflakes 代码检查器。

有时提供修复。

作用

检查字典字面量中将多个值与同一键关联的情况。

为什么这不好?

字典的键应该是唯一的。如果一个键与多个值关联,则较早的值将被覆盖。在字典字面量中为同一个键包含多个值很可能是一个错误。

示例

foo = {
    "bar": 1,
    "baz": 2,
    "baz": 3,
}
foo["baz"]  # 3

建议改为

foo = {
    "bar": 1,
    "baz": 2,
}
foo["baz"]  # 2

修复安全性

此规则的修复被标记为不安全,因为删除重复的字典键可能会删除附加到已删除键值对的注释。如果值表达式具有副作用,这也可能会改变程序的行为。

参考