Comment

Jussi Salmela

This solution works for lists of single characters only! Sorry!

Parent comment

Jussi Salmela

How about using dictionaries? I didn't expect improvement speedwise. I was wrong. That's nothing new: I've been wrong before! def f8(L,e): ....d = {} ....# The value could be anything, really ....d[e.lower()] = d[e.upper()] = True ....L = [x for x in L if not x in d] Timings on my machine: f7 0.43 - 0.48 f8 0.28 - 0.33