zip-without-explicit-strict (B905)
源自 flake8-bugbear linter。
修复总是可用的。
作用
检查没有显式 strict
参数的 zip
调用。
为什么这不好?
默认情况下,如果传递给 zip
的可迭代对象的长度不同,则生成的迭代器将被静默截断为最短的可迭代对象的长度。这可能会导致难以发现的错误。
传递 strict=True
以在可迭代对象的长度不一致时引发 ValueError
。或者,如果可迭代对象故意具有不同的长度,则传递 strict=False
以明确意图。
示例
建议改为
修复安全性
此规则的修复被标记为对于包含 **kwargs
的 zip
调用是不安全的,因为向此类调用添加 strict
关键字参数可能会导致重复的关键字参数错误。