跳到内容

字面量成员测试 (PLR6201)

源自 Pylint 代码检查工具。

修复总是可用的。

此规则不稳定且处于预览状态。使用需要 --preview 标志。

作用

检查在 listtuple 字面量上的成员测试。

为什么这不好?

当测试静态序列中的成员时,建议使用 set 字面量而不是 listtuple,因为 Python 优化了 set 的成员测试。

示例

1 in [1, 2, 3]

建议改为

1 in {1, 2, 3}

修复安全性

此规则的修复被标记为不安全,因为如果序列包含不可哈希的元素(如列表或字典),则使用 set 字面量会在运行时出错。 虽然 Ruff 会尝试推断元素的哈希性,但它可能并不总是能够做到。

参考