3 ms·
> This works all the time and serves all possible cases. Unless you want the check to be always against the initial length of your iterable, rather than its mo
by magnusmundus 3y ago
> This works all the time and serves all possible cases.
Unless you want the check to be always against the initial length of your iterable, rather than its modified state, you'd have to repeat the `n = len(iterable)` inside the loop, or introduce some syntactic caramel of the walrus kind (though I'm not sure if it would work here).
- Mikhail_Edoshin 3y agoIt is actually much simpler: you change 'n' as well: while i < n: if shouldDelete(iterable[i]): del iterable[i]; n -= 1 else: i += 1