List Comprehension
List comprehensions in Python provide a concise and readable way to create lists. They allow you to generate a new list by applying an expression to each item in an iterable (like a list, tuple, set, or string) and optionally filtering elements with a condition. This approach often replaces the need for more verbose constructs like for-loops or the `map()` and `filter()` functions.
Basic Syntax:
|
[expression for item in
iterable] |
Adding a Conditional:
[expression for item in iterable
if condition]
Examples:
Example 1: Squaring Numbers
|
# Without list comprehension squares = [] for x in range(10): squares.append(x**2) # With list comprehension squares = [x**2 for x in
range(10)] |
Example 2: Filtering Even Numbers
|
# Without list comprehension evens = [] for x in range(10): if x % 2 == 0: evens.append(x) # With list comprehension evens = [x for x in range(10)
if x % 2 == 0] |
Example 3: Applying a Function to Each Element
|
words = ['hello', 'world',
'python'] upper_words = [word.upper() for
word in words] |
Example 4: Flattening a Matrix
|
matrix = [[1, 2, 3], [4, 5, 6],
[7, 8, 9]] flattened = [num for row in
matrix for num in row] |
Example 5: Conditional Expressions
|
numbers = [1, 2, 3, 4, 5] even_or_odd = ["Even"
if x % 2 == 0 else "Odd" for x in numbers] |
List comprehensions are a key
feature in Python that can simplify code and enhance readability, especially
when dealing with collections and iterables. They are particularly useful for
simple transformations and filtering, but for more complex scenarios or very
large data sets, other methods might be more efficient or readable.
Comments
Post a Comment