check-and-remove-from-set (FURB132) 添加于 0.12.0 · 相关问题 · 查看源码 派生自 refurb 代码检查工具。 修复总是可用的。 作用 检查是否可以使用 set.discard 替换 set.remove。 为什么这不好? 如果希望在元素存在时将其从集合中移除,使用 discard 会更加简洁且符合惯用法。 已知问题 由于类型推断的局限性,此规则容易产生漏报(false negatives),因为它仅检测那些以字面量形式实例化或带有类型注解的集合。 示例 nums = {123, 456} if 123 in nums: nums.remove(123) 建议改为 nums = {123, 456} nums.discard(123) 参考 Python 文档: set.discard()