You can use if-else in list comprehension to Conditional Outputs in Python. Do-something if, else do something else.
[output if condition else output for l in list]
Note: Use both if and else keywords otherwise a SyntaxError is thrown and elif does not apply here.
Python example if/else in a list comprehension
Simple example code.
Creates a list from 0 to 9 through a list comprehension which iterates through the list and outputs either ‘0’ or ‘1’ for every number in the list. We use the modulo (%) operator that returns the remainder of a division.
A number is ‘0’ if the remainder of division by 5 is 0, otherwise, the number is ‘1’.
nums = list(range(10)) num_classes = [0 if num % 5 == 0 else 1 for num in nums] print(num_classes)
Another example: Conditionals in List Comprehension
Using if with List Comprehension to create the list by the items in range from 0-19 if the item’s value is divisible by 2.
number_list = [x for x in range(20) if x % 2 == 0] print(number_list)
Output: [0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
Nested IF with List Comprehension
If y satisfies both conditions, y is appended to num_list.
num_list = [y for y in range(50) if y % 2 == 0 if y % 5 == 0] print(num_list)
Output: [0, 10, 20, 30, 40]
Do comment if you have any doubts and suggestions on this Python list topic.
Note: IDE: PyCharm 2021.1.3 (Community Edition)
All Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.
Degree in Computer Science and Engineer: App Developer and has multiple Programming languages experience. Enthusiasm for technology & like learning technical.