How to Filter Items in a List using Python

Kacper Bąk
4 min readMar 3, 2023
Photo by Nathan Dumlao on Unsplash

Python is a popular high-level programming language that is widely used for various applications, including data analysis, web development, and artificial intelligence. One of the fundamental features of Python is its ability to handle lists, which are collections of items that can be easily manipulated using built-in functions and methods. In this article, I will discuss how to filter items in a list using Python.

Filtering list items means selecting specific items from a list based on certain criteria. For example, I could select all even numbers from a list of integers, or all strings that start with a certain letter from a list of strings. Python provides several ways to filter elements in a list, depending on the desired result and the complexity of the filtering criteria.

Method 1: Using a for loop

One way to filter elements in a list is to use a for loop to iterate over each element in the list and append the elements that meet the filter criteria to a new list. For example, let’s say I have a list of integers and I want to select all the even numbers from the list. To do this, I can use the following code:

original_list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
even_numbers = []
for number in original_list:
if number % 2 == 0:

Output: [2, 4, 6, 8, 10]

In this code, I first defined the original list of integers. I then created an empty list called even_numbers. I then iterated over each number in the original list using a loop. For each number, I checked if it was even (i.e. divisible by 2 without remainder) using the modulus (%) operator. If the number is even, I append it to the list of even_numbers. Finally, I output a list of even_numbers that contains all the even numbers in the original list.

Method 2: Using list comprehension

Another way to filter elements in a list is to use list comprehension, which is a concise and efficient way to create a new list from an existing list. List comprehension allows you to apply a filtering condition and transformation operation to each list element, all in a single line of code. I assume I have a list of strings and I want to select all strings that start with the letter ‘A’. To do this, I can use the following code:

original_list = ['Apple', 'Banana', 'Apricot', 'Cherry', 'Avocado', 'Coconut']
a_words = [word for word in original_list if word.startswith('A')]

Output: [‘Apple’, ‘Apricot’, ‘Avocado’]

In this code, I first define the original list of strings. I then used list comprehension to create a new list called a_words. The list comprehension starts with a word expression that represents each element of the original list. I then applied a filtering condition using the if keyword, which checks if the word starts with the letter ‘A’ using the startswith() method. If the condition is true, I append the word to the new list. Finally, I output a list of a_words, which contains all strings starting with the letter ‘A’ from the original list.


Filtering elements in a list is a common task in Python programming, which can be performed using various methods such as for loops and list comprehension. By selecting specific elements from a list based on specific criteria, data can be manipulated and analyzed more effectively and efficiently. With the power of Python’s built-in functions and methods, filtering elements in a list has never been easier. Whether working with simple lists or complex data structures, Python provides the tools needed to filter, transform and analyze data with ease.

In addition to the methods discussed in this article, Python also provides other powerful functions for filtering elements in a list, such as a filter() function and the map() function. The filter() function takes as arguments a filter function and an array and returns a new array that contains only those elements that have passed through the filter function. The map() function takes as arguments a transform function and an iteration variable and returns a new iteration variable that contains the result of applying the transform function to each element in the iteration variable.

In general, filtering elements in a list is an essential skill for any Python programmer who works with or wants to analyze data. By mastering the techniques and functions discussed in this article, you can take your Python programming skills to the next level and start building more complex and sophisticated applications.