remove a list from a list
python.list at tim.thechases.com
Fri Nov 17 20:14:40 CET 2006
> That is a nice solution.
> But, how about modifying the list in place?
> That is, l would become ['c', 'D'].
>> >>> e = ['a', 'b', 'e']
>> >>> l = ['A', 'a', 'c', 'D', 'E']
>> >>> s = set(e)
>> >>> [x for x in l if x.lower() not in s]
>> ['c', 'D']
Well...changing the requirements midstream, eh? ;-)
You can just change that last item to be a reassignment if "l" is
all you care about:
>>> l = [x for x in l ...]
Things get a bit hairier if you *must* do it in-place. You'd
have to do something like this (untested)
for i in xrange(len(l), 0, -1):
if l[i-1].lower() in s:
which should do the job.
More information about the Python-list