We will learn with this explanation about what chaining is and, in Python, how to apply
if-elif-else or chaining in the list comprehension.
if-elif-else in List Comprehension With the Help of Chaining in Python
An interesting question in the Python community is how to use
if-elif-else in a list comprehension. We already know how to use
if-else in list comprehension, but we should know that we can not write every code in list comprehension while writing Python script.
Implement Chaining in List Comprehension in Python
There is no concept of
if-elif-else inside the list comprehension, but we can use chaining, which will be an alternative. First of all, we will need to know what chaining is.
Chaining is used when we have multiple conditions, such as:
if condition1: code1 elif condition2: code2 elif condition3: code3 else condition4: code4
The above code explains that the workflow of chaining does not do anything. This shows that if the first condition does not meet true, the second condition is executed.
else block is executed if any condition does not meet true.
Let’s convert these
if-elif-else into chaining, but it will work when every condition contains a single statement. To create chaining, we will start with
code1 and check if the instruction meets true, then the control will check the second chaining that is
else code2 if condition2.
code1 if condition1 else code2 if condition2 else code3 if consition3 else condition4
else code2 if condition2 meets true, then the control goes on third chaining,
else code3 if consition3. And, if it also meets true, then the control goes on to the fourth chaining, which would be
else condition4 .
This is called chaining and is how it works.
List Comprehension With
if-elif-else in Python
Let’s take an example, jump into the Python script, and look at how to apply this scenario for chaining.
Suppose we have a program that stores the status if any condition meets true. In this program, we will iterate over a list, check several conditions, and append the result in a blank list called
list= [1,0,2,-3,11,0,-1] status= for i in list: if i >0: status.append('Positive') elif i <0: status.append('Negative') else: status.append('Zero') print(status)
['Positive', 'Zero', 'Positive', 'Negative', 'Positive', 'Zero', 'Negative']
We can convert the above code into the list comprehension, which will be one line of code. Remember that list comprehension does not work with every piece of code and does not allow an
elif block or clause, but we will use
elif by chaining.
To create a list comprehension, we will create an empty list and place three chains. We also have looked above- in the pseudo-code how to work chaining.
List comprehension does not allow the
append() function, but it appends the element itself. We can place more than several conditions by using chaining.
print(['Positive' if i > 0 else 'Negative' if i <0 else 'zero' for i in list])
['Positive', 'zero', 'Positive', 'Negative', 'Positive', 'zero', 'Negative']