["python","list","filter","list-comprehension","nonetype"]
remove None value from a list without removing the 0 value

This was my source I started with. My List L = [0, 23, 234, 89, None, 0, 35, 9] When I run this : L = filter(None, L) I get this results [23, 234, 89, 35, 9] But this is not what I need, what I really need is : [0, 23, 234, 89, 0, 35, 9] Because I'm calculating percentile of the data and the 0 make a lot of difference. How to remove the None value from a list without removing 0 value?
>>> L = [0, 23, 234, 89, None, 0, 35, 9] >>> [x for x in L if x is not None] [0, 23, 234, 89, 0, 35, 9] Just for fun, here's how you can adapt filter to do this without using a lambda, (I wouldn't recommend this code - it's just for scientific purposes) >>> from operator import is_not >>> from functools import partial >>> L = [0, 23, 234, 89, None, 0, 35, 9] >>> list(filter(partial(is_not, None), L)) [0, 23, 234, 89, 0, 35, 9]