Native Python function to remove NoneType elements from list?

I think the cleanest way to do this would be:

#lis = some list with NoneType's
filter(None, lis)

List comprehension, as other answers proposed or, for the sake of completeness:

clean = filter(lambda x: x is not None, lis)

If the list is huge, an iterator approach is superior:

from itertools import ifilter
clean = ifilter(lambda x: x is not None, lis)

You can do this using list comprehension:

clean = [x for x in lis if x != None]

As pointed in the comments you could also use is not, even if it essentially compiles to the same bytecode:

clean = [x for x in lis if x is not None]

You could also used filter (note: this will also filter empty strings, if you want more control over what you filter you can pass a function instead of None):

clean = filter(None, lis)

There is always the itertools approach if you want more efficient looping, but these basic approaches should work for most day to day cases.