跳到内容

starmap-zip (RUF058)

有时提供修复。

作用

检查第二个参数是 zip 调用的 itertools.starmap 调用。

为什么这不好?

仅为了之后从 starmap 中解包而 zip 可迭代对象是不必要的。对于这种情况,应该使用 map() 代替。

示例

from itertools import starmap


starmap(func, zip(a, b))
starmap(func, zip(a, b, strict=True))

建议改为

map(func, a, b)
map(func, a, b, strict=True)  # 3.14+

修复安全性

如果 starmapzip 表达式包含在应用修复后会被删除的注释,则此规则的修复被标记为不安全。否则,可以安全地应用修复。

修复可用性

如果 map 从其内置绑定中被屏蔽,则此规则将发出诊断,但不建议修复。