List Comprehension - If Else if, Multiple Conditions
Multiple Conditions in Python List Comprehensions
List comprehensions combined with if-else statements are a powerful tool in Python. When working with multiple conditions, they can significantly increase the flexibility of your code. Let's dive into four complex examples of list comprehensions with multiple conditions.
1. Categorizing Numbers into Even, Odd, and Zero
In this example, we create a new list where each element is 'Even', 'Odd', or 'Zero', based on the corresponding element in the original list:
old_list = [-2, -1, 0, 1, 2]
new_list = ['Even' if i % 2 == 0 else 'Odd' if i != 0 else 'Zero' for i in old_list]
print(new_list) # Outputs: ['Even', 'Odd', 'Zero', 'Odd', 'Even']
2. Checking if Numbers Are Positive, Negative, or Zero
This time, we check if the numbers in our original list are positive, negative, or zero:
old_list = [-2, -1, 0, 1, 2]
new_list = ['Positive' if i > 0 else 'Negative' if i < 0 else 'Zero' for i in old_list]
print(new_list) # Outputs: ['Negative', 'Negative', 'Zero', 'Positive', 'Positive']
3. Classifying Numbers by Size and Parity
In this example, we classify the numbers from our original list based on whether they're small (less than 10), large (greater than or equal to 10), even, or odd:
old_list = [2, 9, 10, 15]
new_list = ['Small & Even' if i < 10 and i % 2 == 0 else 'Small & Odd' if i < 10 else 'Large & Even' if i % 2 == 0 else 'Large & Odd' for i in old_list]
print(new_list) # Outputs: ['Small & Even', 'Small & Odd', 'Large & Even', 'Large & Odd']
4. Transforming and Categorizing Strings
Finally, we transform the strings from our original list based on their length and whether they start with an 'a':
old_list = ['apple', 'banana', 'cherry', 'avocado', 'grape']
new_list = [word.upper() if len(word) > 5 and word[0] == 'a' else word for word in old_list]
print(new_list) # Outputs: ['APPLE', 'banana', 'cherry', 'AVOCADO', 'grape']
As you can see, using multiple conditions within list comprehensions can make your code more flexible and dynamic. However, it can also make your code more complex. Always consider readability and code complexity when deciding how to structure your code.
Comments
Post a Comment