Terry J. Reedy <tjre...@udel.edu> added the comment:
I modeled the new entry on the previous one. The code and its test. def fr(n, remove): mylist = list(range(n)) for i in range(len(mylist)-1, -1, -1): if remove(mylist[i]): del mylist[i] return mylist def ff(n, keep): mylist = list(range(n)) j = 0 for i, item in enumerate(mylist): if keep(item): mylist[j] = item j += 1 del mylist[j:] return mylist for i in range(9): expect = list(range(0, i, 2)) def remove(n): return n % 2 def keep(n): return n % 2 == 0 print(fr(i, remove) == ff(i, keep) == expect) expect = list(range(i//2)) def remove(n): return n >= i//2 def keep(n): return n < i//2 print(fr(i, remove) == ff(i, keep) == expect) expect = list(range(i//2, i)) def remove(n): return n < i//2 def keep(n): return n >= i//2 print(fr(i, remove) == ff(i, keep) == expect) # all True ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue41774> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com