remove¶
- iteration_utilities.remove(iterable, idx=None, start=None, stop=None)¶
Removes the item at idx or from start (inclusive) to stop (exclusive).
- Parameters:
- iterableiterable
The iterable in which to remove the item(s).
- idxpositive
int
, list/tuple thereof, None, optional If not
None
, remove the item at idx. If it’s a tuple or list then replace all the present indices (they will be sorted so only the specified indices are removed). Default isNone
.Note
This parameter must not be
None
if also start and stop areNone
.- startpositive
int
or None, optional If
None
then remove all items before stop, otherwise remove only the items starting by start. Default isNone
.Note
This parameter is ignored if idx is not
None
.- stoppositive
int
or None, optional If
None
then remove all items starting by start, otherwise only remove the items before stop. Default isNone
.Note
This parameter is ignored if idx is not
None
.
- Returns:
- replacedgenerator
The iterable with the specified items removed.
Examples
To remove one item:
>>> from iteration_utilities import remove >>> list(remove(range(10), idx=2)) [0, 1, 3, 4, 5, 6, 7, 8, 9]
To remove several items just provide a tuple as idx (the values are sorted, so exactly the specified elements are removed):
>>> list(remove(range(10), (4, 6, 8, 5, 1))) [0, 2, 3, 7, 9]
To remove a slice:
>>> list(remove(range(10), start=2)) [0, 1] >>> list(remove(range(10), stop=2)) [2, 3, 4, 5, 6, 7, 8, 9] >>> list(remove(range(10), start=2, stop=5)) [0, 1, 5, 6, 7, 8, 9]