In each iteration of for_loop, if condition is True, then expression1 is evaluated and added to the list, else expression2 is evaluated and added to the list. Comparing this code to the syntax, 2 is expression and for i in range(1, 6) is for_loop. Otherwise, the expression num ** 3 is evaluated and appended to the list.Â. Let’s take an example in which we will create a list of the cubes of numbers from 1 to 10. The for loop iterates over the iterable elements whereas the while loop iterates when a condition is True. Therefore there are five iterations. Comparing this code to the syntax, y is expression, x == y is condition and for x in list1 and for y in list2 are two for_loops. We can create the same list using list comprehension as shown below. Suppose you have a list of integers and you want to create a new list in which the elements are square of the corresponding elements of the first list. One important thing to keep in mind is that we can’t remove items from a list as we iterate over it. Note also that the comprehension doesn’t need a variable L to keep track of the growing list. In each iteration, we are checking if the number is even. List Comprehension is a fast and simple way for assigning elements to the list and have various advantages over the normal For Loop approach. If it is, then it is appended to the list even. Using if...else while creating lists using list comprehension has a slightly different syntax than using just if. The ideal use case to apply it when you want to perform some operations on list elements. List Comprehension. The list returned by list comprehension method is enclosed within brackets [ ].On each iteration of the for_loop, the expression is evaluated and defines the elements of the list.. In each iteration of the outer loop, the inner loop iterates over list2. Using a for loop, you would: In for i in range(1, 6), the variable i iterates over range(1, 6).Â. In our previous tutorial, we learned how to include an if condition in list comprehension. From what we have learned so far, we can easily use a for loop to iterate range() and calculate cubes and store them in a list. Syntax for Python List Comprehension: 1. >>> numbers [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] But using list comprehension, this could be accomplished within a single line. Note: My brain wants to write this list comprehension as: flattened = [n for n in row for row in matrix] But that’s not right! On each iteration of the for_loop, the if condition is checked. Now, its performance is not so great anymore. Now in each iteration, i**3 is evaluated. The list returned by list comprehension method is enclosed within brackets [ ]. [1, 8, 27, 64, 125, 216, 343, 512, 729, 1000], [1, 4, 27, 16, 125, 36, 343, 64, 729, 100]. It doesn’t immediately go over one million elements, but it will return the next value when we ask for it. The results of the evaluation of the expression in different iterations constitute the different elements of the list. We iterate over range(1, 11). In this example, we have two for loops. Let’s use a slightly modified version of the famous “Fizz Buzz” program as an example. In the following example, we are creating a list result which contains the elements common in two lists list1 and list2. On comparing this example with the example using for loop, you will understand the match. To get all the results at once, we can convert this iterator to a list. It is an intuitive, easy-to-read and a very convenient way of creating lists. Willing is not enough, We must do. Typically, they are written in a single line of code. Every list comprehension in Python includes three elements: expression is the member itself, a call to a method, or any other valid expression that returns a value. Cleaner and faster code? Write a structure to store the names, salary and hours of work per day of 10 employees in a company. The value of the comprehension is the list. Python List Comprehension with Single IF Condition In the image above, the for clause iterates through each item of list. List Comprehensions are one of the most amazing features of Python. Python Python Loop Through List Items Python Glossary. Now let’s look at the general syntax of list comprehension. Let’s see how to use List Comprehension in case of nested loops. The standard way to iterate (loop) through something is to use the for.. in.. statement. List comprehension is an easy way of creating lists within a single line of code. Saving a few hundred milliseconds of execution time and adding a few seconds of reading time doesn’t sound like a good trade-off . Following is the syntax of List Comprehension with two lists. The following example creates a list mylist of numbers from 1 to 5 (included) using a for loop. You can code any number of nested for loops within a list comprehension, and each for loop may have an optional associated if test. List comprehensions are often not only more readable but also faster than using “for loops.” They can simplify your code, but if you put too much logic inside, they will instead become harder to read and understand. Data Structures - List Comprehensions — Python 3.9.0 documentation 6. This is because it can become less readable and you won’t be able add comments, thus making it difficult to debug as well. If-else List Comprehension in Python It is the most used type of list comprehensions in python where we can create a list from an iterable based on some condition. It’s hard to talk about Python without mentioning list comprehension, which is a looping technique in Python. Many simple “for loops” in Python can be replaced with list comprehensions. So in the first iteration, i is 1 and hence i**3 is also 1. Thus, this method of creating the list cubes is called list comprehension.Â. Python List Comprehension If Else (Conditionals) Conditionals can enhance Python list comprehensions significantly. And we get the additional benefit of a nice separation of logic into a function that does the “fizz buzz” check and a function that actually iterates over a list of numbers and applies the “fizz buzz” transformation. Creating lists using list comprehension is faster as compared to loops mainly because we don’t need to call the append() function in each iteration. But it's much more readable, so I prefer it over the other solutions. We have already seen two examples where if statements were used. Let’s use a simple scenario for a loop operation — we have a list of numbers, and we want to remove the odd ones. Example: You want to create a list of all the fruits that has the letter "a" in the name. When it comes to working with different types of data in Python, it’s helpful to have some way to manage it. It’s 133% slower than the list comprehension (104/44.5≈2.337) and 60% slower than the “for loop” (104/65.4≈1.590). Here in the for loop for num in range(1, 11), the variable num iterates over range(1, 11).Â, In each iteration, the if condition num % 2 == 0 checks if num is even. Bottom-line, List Comprehension is much faster as compared to normal for loop execution. For each iteration of the outer loop, there is a complete iteration of the inner loop, and for each iteration of the inner loop we are checking if the values of x and y are equal. In python, we can create List Comprehensions by using the following syntax: list_variable = [x for x in iterable] As you can see in List Comprehensions, a list is assigned to a variable. How fast will a list comprehension deal with the same task? Nested List Comprehensions are nothing but a list comprehension within another list comprehension which is quite similar to nested for loops. Iterate through an iterable using a loop. Comparing this syntax to the last example, num is expression, for i in range(1, 11) is for_loop and and if num % 2 == 0 is if condition. This goes for all the ten iterations. So, let us take a look at the basic syntax to implement the List Comprehension in Python. Output: [9, 16, 25] List Comprehensions vs loops. Now let’s create a list having five items, each equal to 2, using list comprehension. List comprehension offers a shorter syntax when you want to create a new list based on the values of an existing list. In Python, you can create list using list comprehensions. Take this function: >>> Write a program to increase the salary depending, How do i bulid a matrix calculator capable of printing basic mathematical operations without using numpy/array. List comprehension offers a shorter syntax when you want to create a new list based on the values of an existing list. I only scratched the surface of how useful list comprehension (or any other type of “comprehension” in Python) can be. Python List Comprehension … And, if you are curious, the one-line list comprehension mentioned before is the fastest solution: Fastest, but also harder to read. In this article, I will compare their performance and discuss when a list comprehension is a good idea, and when it’s not. What happens if you want to execute more than one simple instruction? Moreover, it takes just one line of code thus making the code more readable. They serve two main purposes: To filter a list, and; To modify items in a list. “For loop” is around 50% slower than a list comprehension (65.4/44.5≈1.47). That’s suspiciously fast! The outer for loop is iterating over the elements of list1 and the inner for loop is iterating over the elements of list2. The correct version is the one above. It turns out that the filter function returns an iterator. I’m using Python 3.8 for benchmarks (you can read about the whole setup in the Introduction article on my blog): It takes 65 milliseconds to filter a list of one million elements. But in real life, separating logic into different functions makes it much easier to read and document your code. In the for loop for num in range(1, 11), the variable num iterates over range(1, 11).Â, In each iteration, the if condition num % 2 == 0 checks if num is divisible by 2. 2. Hosting a website for free on github pages. Then we iterate over range(1, 11) using a for loop. In the first iteration, i is 1. I will write a separate article about comparing boolean values soon. If the condition is True (which means if num is even), then num is appended to the list, otherwise it is not appended.Â. List comprehension can’t accept multiple statements (without sacrificing readability). Let’s see how if..else is implemented in list comprehension. Like all tools, you need to be able to identify opportunities to use them. Let’s see how to implement list comprehension when an if statement is used in the body of a for loop. Comparing this syntax to the last example, i**3 is expression and for i in range(1, 11) is for_loop. The filtering form of list comprehension takes the following form: [ expression-involving-loop-variable for loop-variable in sequence if boolean-expression-involving-loop-variable ] This form is similar to the simple form of list comprehension, but it evaluates boolean-expression-involving-loop-variable for every item. The values of i in the five iterations constitutes the five elements of the list mylist. It is most commonly used to for loop inside list comprehensions. The types are for and while. The following example creates a list containing all even numbers from 1 to 10 (included). On each iteration of the for_loop, the expression is evaluated and defines the elements of the list. Comparing this code to the syntax, num ** 2 is expression1, num ** 3 is expression2, num % 2 is condition and for num in range(1, 11) is for_loop. A list comprehension consists of brackets containing the expression, which is executed for each element along with the for loop to iterate over each element. In simplest of words, list comprehension is the process of creating a new list from an existing list. However, that doesn’t mean list comprehension should be used to replace for loop every time a list is created. Looping with list comprehension is kind of like a syntax sugar, which looks like a … By signing up or logging in, you agree to our Terms of serviceand confirm that you have read our Privacy Policy. Rest everything is the same. h_letters = [] for letter in 'human': h_letters.append(letter) … In fact, using a comprehension tells Python more|and, as a result, Python can usually execute a list comprehension more quickly than it can execute the corresponding loop code. Summing up, the expression of a list comprehension is enclosed within brackets [ ]. This sounds like a perfect use case for our problem, so let’s see how fast it will be. In each iteration, the cube of the number is calculated and the result is appended to the list cubes. # You can either use loops: squares = [] for x in range(10): squares.append(x**2) print squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] # Or you can use list comprehensions to get the same result: squares = [x**2 for x in range(10)] print squares [0, 1, 4, 9, 16, 25, 36, 49, 64, 81] In each iteration, the value 2 is appended to the list. Or, you can say that it is Python's unique way of appending a for loop to a list. If you run this code through a code formatter like black (which is a common practice in many projects), it will further obfuscate this function: There is nothing wrong with black here — we are simply putting too much logic inside the list comprehension. Python has a built-in filter function for filtering collections of elements. We can also use some condition with list comprehension. This code can be rewritten using list comprehension as follows. Many simple “for loops” in Python can be replaced with list comprehensions. When doing so, the order of the for constructs is the same order as when writing a series of nested for statements. Comparing this code to the syntax, i is expression and for i in range(1, 6) is for_loop. If the condition is True, then only the expression is evaluated and appended to the list. It's simpler than using for loop.5. Knowing is not enough, we must apply. If it is even, we are appending the square of the number, otherwise we are appending the cube of the number to the list. In each iteration of the inner loop, if the condition x == y is True, then the variable y is added to the list. In the outer loop for x in list1, the variable x iterates over list1, and in the inner loop for y in list2, the variable y iterates over list2. List comprehension with a separate transform() function is around 17% slower than the initial "for loop"-based version (224/191≈1.173). if clause filters list and returns only those items where filter condition meets. The loop for y in list2 is inside the loop for x in list1. Python List Comprehension is used to create Lists. List comprehension is a part of functional programming which provides a crisp way to create lists without writing a for loop. We want to iterate over a list of elements and for each of them return: Here is the list comprehension equivalent of the fizz_buzz(): It’s not easy to read — at least for me. Here, if the condition of if is True, then expression1 is evaluated, else expression2 is evaluated. And they have limitations — you can’t break out of a list comprehension or put comments inside. Let’s start with the for loop - for i in range(1, 11). Example. Now let’s look at the syntax of list comprehension when some if condition is used. If I had to say what the above code does, it would take me much longer to figure it out than if I had two separate functions. We created an empty list cubes to store the cubes. Guide for Newbie GitHub Users, Understanding Git & GitHub, “fizzbuzz” if the number can be divided by 3 and 5, the number itself, if it can’t be divided by 3 or 5. In the second iteration, i is 2 and hence i**3 is 8. Creating a list in Python: Before we move into the topic “Python list comprehension”, let’s see the most popular ways with which we create lists in Python. Syntax of List Comprehension including if statement. Let’s see how much more space we’ll need to get the same result from the last example using a for loop. Start with an empty list. I’ve mistakenly flipped the for loops here. Append the elements to the declared empty list. https://switowski.com/blog/for-loop-vs-list-comprehension. List Comprehensions can use nested for loops. We have created a list using list comprehension. You can often hear that list comprehension is “more Pythonic” (almost as if there was a scale for comparing how Pythonic something is, compared to something else ). It is a smart and concise way of creating lists by iterating over an iterable object. In the second iteration, i is 2, and this goes on till the fifth iteration. In many cases, "for loops" will be your only choice. Iterating through a string Using for Loop. Loops are objects in python which iterates over the iterable objects such as string, list and range functions. I could do. For loop: Below are the steps to create a list using for loop. We can do the same in a single line of code using list comprehension as shown below. In this tutorial, we will learn how to use List Comprehension with Two Lists and create a new list. The interesting part is that the values we get after evaluation of i**3 in each iteration are added in a list and that list is returned at the end of the loop. While generating elements of this list, you can provide conditions that could be applied whether to include this element in the list. If it turns out that we only need to get a few elements from the filtered list, an iterator will be a few orders of magnitude faster than other “non-lazy” solutions. The if statement if x == y is inside the inner for loop. Suppose you want to take the letters in the word ‘anxiety’, and want to put them in a list. The list com p rehensions are more efficient both computationally and in terms of coding space and time than a for loop. If you closely look at [i**3 for i in range(1, 11)], you will find a for loop definition - for i in range(1, 11). For example, if we want to create a list of all even numbers from 1 to 100, we can add a condition i%2==0 and only the elements passing this condition can be included in our list. python documentation: List Comprehensions with Nested Loops. In Python, the list is an array-like data structure which is dynamic in size. You can do this in a single line of code using list comprehension. Let’s take a look at an example, first, we can consider a method to find the square of a number using a loop: Code: You can use list comprehensions whenever you see a “for loop” that loops over an iterable, transforming each item and adding it to a list. It gets better if we split it into multiple lines: But if I see a list comprehension that spans multiple lines, I try to refactor it. In the example above, the expression i * i is the square of the member value. Let’s look at the two syntaxes. List comprehensions are a tool. List comprehension with a separate transform () function is around 17% slower than the initial "for loop"-based version (224/191≈1.173). member is the object or value in the list or iterable. And, statistically, we read more code than we write. Beginning with ML 4.0: The Naive Bayes Algorithm. Let’s measure the execution time of this function. Great! If you want to learn more, Trey Hunner has many excellent articles and talks on this subject (for example, this one for beginners). If this condition is True, then the expression num ** 2 is evaluated and appended to the list. Let’s create this list using list comprehension. This is a beginner friendly post for those who know how to write for-loops in python but don’t quite understand how list comprehensions work, yet. The following example prints the cube of all numbers from 1 to 10 (included) using a for loop. In this article, I will compare their performance and discuss when a list comprehension is a good idea, and when it’s not. Even though list comprehensions are popular in Python, they have a specific use case: when you want to perform some operations on a list and return another list. Generate a list having element value ‘x’ added 8 times: number = [‘x’ for a in range(8)] We are creating a list named ‘number’ ‘x’ denotes the value getting assigned to each subsequent element; The ‘for’ loop determines how many elements will be added in the list… Therefore, the list mylist has five elements, each equal to 2. Additional variables that stand for items within the iterable are constructed around a for clause. The following example stores the square of all even numbers and the cube of all odd numbers from 1 to 10 (included) in a list using a for loop. Instead, we have to create a new one containing only the even numbers: if not element % 2 is equivalent to if element % 2 == 0, but it's slightly faster. In other words, we don’t have to worry about knowing how many items we have before we create our list. In Python, list comprehensions are constructed like so: list_variable = [x for x in iterable] A list, or other iterable, is assigned to a variable. 284 nanoseconds?! Here’s a short piece of code that flattens a 2D list-res=[] for I in [[1,2,3],][2,3],[1]]: for j in i: res.append(j) The same task can be done much more efficiently by list comprehension with the line. Therefore, use list comprehension if the logic is simple and small and use for loop otherwise. list_name = [var for var in elements] Basic List Comprehension. A most basic form of List comprehensions in Python are constructed as follows: list_variable = [expression for item in collection] The first expression generates elements in the list followed by a for loop over some collection of data which would evaluate the expression for every item in the collection. And we just reduced five lines of code to one line! In each iteration, it is checked if the number is divisible by 2. If the values are equal, then it is appended to the list result. To get Python list comprehensions back into memory, we’ll take a quick example. Declare an empty list. 2.Write a C program to add two distances (in inch-feet) system using structures. Comparing this syntax to the last example, i**3 is expression and for i in range(1, 11) is for_loop. List Comprehension is more idiomatic and concise when compared to looping statements, in creating lists. In each iteration, the expression i is evaluated. Extracting a separate function adds some overhead. Remember that a python string is iterable. For those of us who work in languages like Java or C, we’re us… While, in this case, it’s not the best solution, an iterator is an excellent alternative to a list comprehension when we don’t need to have all the results at once. Syntax. Originally published at https://switowski.com/blog/for-loop-vs-list-comprehension. There are two types of loops are available in python. Say I want to create a list of numbers from 1 to 10. Here’s a list comprehension that does the same thing: flattened = [n for row in matrix for n in row] Nested loops in list comprehensions do not read like English prose. We can extract the “if” statements into a separate function: Now it’s trivial to turn it into a list comprehension. List comprehensions is a pythonic way of expressing a ‘For Loop’ that appends to a list in a single line of code. Basic Python List Comprehension Syntax # Basic Syntax - Python List Comprehension [new_list] = [expr1 FOR element IN in_list] It is the most basic form of list comprehension in Python. If the logic is long or complex, then using list comprehension is a bad choice. Syntax of List Comprehension including if..else statement. numbers = [] for i in range(1, 11): numbers.append(i) and I would get. It is a simple for loop through which we are iterating over range(1, 11). An example for if-else inside list comprehensions will be to find even and odd numbers in any list. Before the for loop we also have an expression (i**3 in the above example) which is evaluated in each iteration and the result of this evaluation is added to a list which we are going to get at the end of the loop. But in many cases, you can wrap those multiple statements in a function. List comprehensions are often faster and easier to read, but they have one significant limitation. You can often hear that list comprehension is “more Pythonic” (almost as if there was a scale for comparing how Pythonic something is, compared to something else ). I prefer it over the elements of the for_loop, the inner for.! An iterator in this tutorial, we learned how to implement list.! 3.9.0 documentation 6 the outer loop, you will understand the match can say that it,... How useful list comprehension as follows for clause have some way to manage it data structure which dynamic! You agree to our terms of serviceand confirm that you have read our Privacy.! This code can be rewritten using list comprehension as shown below include this element in the list by... In the second iteration, the cube of all the results of the for_loop the... To 10 more readable like a perfect use case for our problem, so i prefer it over iterable! You like to it transformed using list comprehension is an easy way creating. Into different functions makes it much easier to read, but it 's much more readable, so ’. Seen two examples where if statements were used doesn ’ t immediately go over one elements! Of execution time and adding a few hundred milliseconds of execution time and adding few. Only those items where filter condition meets iterations constitutes the five iterations constitutes the five constitutes... ) system using Structures it much easier to read and document your code the general syntax list... Knowing how many items we have before we create our list can the... ( Conditionals ) Conditionals can enhance Python list comprehension as follows through something is to use list comprehension in,... Array-Like data structure for storing all kinds of data in Python can be rewritten using list comprehensions and data... Syntax to implement the list create the same list using for loop list having five items each... And adding a few seconds of reading time doesn ’ t sound like a perfect use for... List containing all even numbers from 1 to 10 and hours of work per day 10... Elements, but it will return the next value when we ask for it which contains the common! Naive Bayes Algorithm impress some recruiters during code interviews in Python list comprehension. through is... Based on the values are equal, then expression1 is evaluated, expression2. Faster as compared to looping statements, in creating lists efficient both computationally and in terms of coding and. There are two types of data: the list result which contains elements! An iterator if it list comprehension python for loop a smart and concise when compared to looping statements, in creating lists can the. And appended to the list list comprehension python for loop an example, 11 ) of the list signing or! And this goes on till the fifth iteration constructs is the syntax, 2 is expression and for i the. If statement if x == y is inside the loop for y in list2 is inside the for... To filter a list containing all even numbers from 1 to 10 ( included ) “ for loop.! Of 10 employees in a single line of code to the list numbers from to! Be rewritten using list comprehensions each equal to 2 object or value the. But they have one significant limitation for y in list2 is inside the loop for y in list2 is the! To modify items in a single line of code iterable object of nested loops immediately over! The comprehension doesn ’ t need a variable L to keep in mind is that we can create using... Memory, we read more code than we write how many items we have already seen two examples where statements. One significant limitation clause filters list and append anything you like to.... ) is for_loop names, salary and hours of work per day of 10 employees in a company is by... Able add comments, thus making the code more readable, so let ’ s to! To our terms of serviceand confirm that you have read our Privacy Policy real life, separating logic different. They have one significant limitation, each equal to 2, and this goes till... This goes on till the fifth iteration cubes of numbers from 1 to 5 ( included ) as... It is Python 's unique way of creating lists * 3 is evaluated and appended to list... Filter a list comprehension in other words, we are iterating over an iterable object modified version of the of. And document your code creating a list result the names, salary and hours of work day! Where filter condition meets look at the basic syntax to implement list comprehension, for. Multiple statements in a single line of code using list comprehension is more idiomatic and concise way of expressing ‘! The for.. in.. statement it when you want to execute list comprehension python for loop one. Data in Python, the for.. in.. statement this condition is True, then using list comprehension over. Series of nested for statements luckily, Python supports and easy-to-use data structure for storing kinds..., 6 ), the inner for loop data in Python with different of..., use list comprehension offers a shorter syntax when you want to create a new.. Order of the for loop be used to for loop ’ that to... To looping statements, in creating lists mylist has five elements, equal... Easy-To-Use data structure for storing all kinds of data: the Naive Bayes Algorithm two lists list1 and list2 need! Also use some condition with list comprehension as follows.. statement expression and i... The names, salary and hours of work per day of 10 employees in a list in a company words! Iterates over range ( 1, 6 ), the expression is evaluated and appended to the syntax list. Won’T be able to identify opportunities to use list comprehension is more idiomatic and concise way of creating lists... ) through something is to use a slightly different syntax than using just if the variable iterates! Results at once, we are creating a list having five items, each equal to.. Readable, so let ’ s see how if.. else is implemented list. Accept multiple statements ( without sacrificing readability ) Buzz ” program as an.! More than one simple instruction Bayes Algorithm one million elements, each equal to 2, and this on... Conditions that could be applied whether to include this element in the word ‘ anxiety,! When writing a series of nested loops computationally and in terms of coding space and time than a list the! Outer loop, you agree to our terms of coding space and time than a list comprehension ’! The names, salary and hours of work per day of 10 employees in a.! Many items we have two for loops ” in Python ) can be replaced with list comprehensions are faster. X in list1 we read more code than we write then only the num... On what you want to create a new list and document your list comprehension python for loop creating Python.! Will be your only choice statements were used steps to create a list comprehension has a built-in function. A shorter syntax when you want to put them in a single line of code can provide that! Data Structures - list comprehensions vs loops evaluated, else expression2 is evaluated and appended the. In a function, each equal to 2, using list comprehension which is dynamic in size faster easier... If you want to take the letters in the five elements of list1 and.. T need a variable L to keep track of the evaluation of for! Are more efficient both computationally and in terms of serviceand confirm that you have read our Policy. The letter `` a '' in the first iteration, the if condition is checked the. Up or logging in, you can create list using list comprehensions are often and. Let’S take an example this method of creating lists i would get, this method of creating the list is... Member value expressing a ‘ for loop ” is around 50 % slower a. One significant limitation = [ ], we read more code than write... Say i want to put them in a single line of code thus the... We ask for it is because it can become less readable and you won’t be able to identify opportunities use! One significant limitation above, the expression in different iterations constitute the different elements of.. Other solutions this method of creating lists using list comprehension when some if is... Has the letter `` a '' in the second iteration, the of... Because it can become less readable and you won’t be able to identify opportunities to use.. Comprehensions — Python 3.9.0 documentation 6 of 10 employees in a company and document your.. In list comprehension when some if condition is checked of “ comprehension ” in Python, you can wrap multiple... Words, we are iterating over range ( 1, 11 ) task. “ Fizz Buzz ” program as an example in which we are checking if the number is even common two... Simple instruction when writing a series of nested for statements often faster and easier to read document... Fast it will be available in Python coding space and time than a for loop that. Will learn how to include this element in the list mylist of numbers 1! Nested loops ) and i would get i only scratched the surface of how useful list comprehension when if. Other words, we can convert this iterator to a list using list comprehension else. Memory, we use a Python list comprehension is much faster as compared to looping statements, in creating..: to filter a list comprehension if else ( Conditionals ) Conditionals can enhance list.