If you want to filter out None, use:

filter(lambda x: x is not None, [list of bools])

or

[x for x in [list of bools] if x is not None]

filter takes a function, not a value. filter(None, ...) is shorthand for filter(lambda x: x, ...) -- it will filter out values that are false-y (emphasis mine):

filter(function, iterable)

Construct a list from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If iterable is a string or a tuple, the result also has that type; otherwise it is always a list. If function is None, the identity function is assumed, that is, all elements of iterable that are false are removed.

Note that filter(function, iterable) is equivalent to [item for item in iterable if function(item)] if function is not None and [item for item in iterable if item] if function is None.

Answer from agf on Stack Overflow
🌐
GeeksforGeeks
geeksforgeeks.org › python › python-remove-none-values-from-list
Remove None values from list without removing 0 value - Python - GeeksforGeeks
Explanation: List comprehension ... elements are added to the new list b. filter() function allows us to remove None values by applying a condition to each element of the list....
Published: July 11, 2025
🌐
Mimo
mimo.org › glossary › python › filter
Python filter(): Syntax, Usage, and Examples
Use None for Truthiness: Passing None as the function (filter(None, my_list)) is a shortcut to remove all "falsy" values from an iterable (e.g., 0, "", False, None). ... Become a Python developer.
🌐
Programiz
programiz.com › python-programming › methods › built-in › filter
Python filter()
In the above example, the lambda function returns True only for even numbers. Hence, the filter() function returns an iterator containing even numbers only. ... When None is used as the first argument to the filter() function, it extracts all elements that evaluate to True when converted to boolean.
🌐
IONOS
ionos.com › digital guide › websites › web development › python filter function
What is Python's filter function and how to use it - IONOS
May 26, 2025 - In this example, we’re going to use a list that contains different values, including integers, empty values and Boolean values. Then, we’re going to apply Python’s filter() and None to remove the values that don’t meet the condition.
🌐
DataCamp
datacamp.com › tutorial › python-filter
Python filter(): Keep What You Need | DataCamp
June 27, 2025 - Things like 0, empty strings, None, or False, and we want to do this without writing a custom function. Python has a trick for this: If you set the function argument in filter() to None, filter() will automatically remove all items that Python considers False.
🌐
AskPython
askpython.com › python › built-in-methods › python-filter-function
Python filter() function - AskPython
May 5, 2026 - Pass None as predicate to keep only truthy values – useful for removing empty strings, zeros, and None from data · The lambda function syntax is the most common way to define inline predicates · For simple keep/discard logic, a list comprehension is often more readable – filter() shines when the predicate logic is complex or reused · filter() is a built-in Python function that extracts elements from an iterable based on a predicate – a function that returns True or False.
🌐
Syntx Scenarios
syntaxscenarios.com › home › python › how to remove none from python list (6 easy ways)
How to Remove None From Python List (6 Easy Ways)
March 7, 2026 - In this case, you ignore the empty slots and focus only on the occupied ones. Similarly, filtering out None values are like counting only the occupied parking spaces in a parking lot. In Python, None values can arise from incomplete or missing data or return by a function.
🌐
Note.nkmk.me
note.nkmk.me › home › python
Filter (Extract/Remove) Items of a List with in Python: filter() | note.nkmk.me
May 15, 2023 - Note that filter(function, iterable) is equivalent to the generator expression (item for item in iterable if function(item)) if function is not None and (item for item in iterable if item) if function is None. Built-in Functions - filter() — Python 3.11.3 documentation
Find elsewhere
🌐
Koenwoortman
koenwoortman.com › python-remove-none-values-from-list
Remove None values from a list in Python
October 18, 2020 - Remove None values from your Python list by using the filter() function.
🌐
AlgoCademy
algocademy.com › blog › remove-none-from-list-in-python-a-comprehensive-guide
Remove None from List in Python: A Comprehensive Guide – AlgoCademy Blog
list(filter(None, …)): Best for very large lists when you want to remove all falsy values, not just None. Remember to consider the context of your project, the size of your data, and the potential for future scaling when choosing a method. By understanding these different approaches and their implications, you’ll be well-equipped to handle None values in your Python lists efficiently and effectively.
🌐
Reddit
reddit.com › r › learnpython › comments › e1r7pl › help_filter_and_none
Help - filter and None : r/learnpython
Subreddit for posting questions and asking for general advice about all topics related to learning python.
🌐
GitHub
github.com › python › typeshed › issues › 2757
Why is filter(None, it) special? · Issue #2757 · python/typeshed
January 21, 2019 - Also, this typing is misleading; filter(None, it) also removes falsy values such as 0 and False other than None.
Author: python
🌐
Hacker News
news.ycombinator.com › item
> What does `filter` do with `None`? filter(None, xs) is equivalent to: filter(l... | Hacker News
May 31, 2022 - filter(None, xs) is equivalent to: · filter(lambda x: x, xs) That is, it will return an iterator over the truthy elements of the passed iterable
🌐
Designcise
designcise.com › web › tutorial › how-to-remove-all-none-values-from-a-python-list
How to Remove All "None" Values From a Python List? - Designcise
November 20, 2022 - You can simply use the filter() method to filter out all None values from a list, for example, like so:
🌐
GeeksforGeeks
geeksforgeeks.org › python › filter-in-python
filter() in python - GeeksforGeeks
Explanation: filter(None, L) removes all falsy values (empty string, None and 0) and keeps only truthy ones.
Published: March 18, 2026
🌐
GeeksforGeeks
geeksforgeeks.org › python-filter-non-none-dictionary-keys
Python - Filter Non-None dictionary Keys - GeeksforGeeks
May 11, 2023 - Use filter() function with a lambda function to filter out the None values from the mapped list. Convert the filtered list to a list using list() function. Below is the implementation of the above approach: ... # Python3 code to demonstrate ...
🌐
TechBeamers
techbeamers.com › python-filter-function
Python Filter Function - TechBeamers
November 30, 2025 - Yes, you can call filter() without passing an actual function as the first argument. Instead, you can specify it as None.