跳到内容

multi-value-repeated-key-variable (F602)

派生自 Pyflakes 代码检查器。

有时提供修复。

作用

检查字典中重复出现且具有不同值的键。

为什么这不好?

字典的键应该是唯一的。如果一个键重复出现并具有不同的值,则第一个值将被覆盖,并且该键将对应于最后一个值。这可能是一个错误。

示例

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

建议改为

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

修复安全性

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

参考