跳到内容

deque 调用中不必要的空可迭代对象 (RUF037)

有时提供修复。

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

作用

检查 collections.deque 的使用,其中第一个参数是空的可迭代对象。

为什么这不好?

使用空字面量作为 deque 的可迭代对象是不必要的,因为这已经是默认行为。

示例

from collections import deque

queue = deque(set())
queue = deque([], 10)

建议改为

from collections import deque

queue = deque()
queue = deque(maxlen=10)

修复安全性

如果修复会删除 deque 调用中的注释,或者存在除 iterablemaxlen 之外的无法识别的参数,则该修复被标记为不安全。

修复可用性

如果在初始可迭代对象之后存在任何星号参数,则此规则的修复不可用。

参考