reuse-of-groupby-generator (B031)#
Derived from the flake8-bugbear linter.
What it does#
Checks for multiple usage of the generator returned from
itertools.groupby()
.
Why is this bad?#
Using the generator more than once will do nothing on the second usage. If that data is needed later, it should be stored as a list.
Examples:#
import itertools
for name, group in itertools.groupby(data):
for _ in range(5):
do_something_with_the_group(group)
Use instead: