Home Python C Language C ++ HTML 5 CSS Javascript Java Kotlin SQL DJango Bootstrap React.js R C# PHP ASP.Net Numpy Dart Pandas Digital Marketing

List Comprehensions in Python


List comprehensions provide a concise way to create and manipulate lists in Python. They are often used as an alternative to loops for generating lists in a single line of code. This article explores list comprehensions with examples.

1. What is a List Comprehension?

A list comprehension is a compact syntax for creating lists. The general structure is:

    [expression for item in iterable if condition]
        

It includes:

2. Basic Example

Creating a list of squares using a list comprehension:

    # Example: List of squares
    squares = [x**2 for x in range(5)]
    print(squares)  # [0, 1, 4, 9, 16]
        

3. Using Conditions

You can add a condition to filter the elements in the list.

Example:

    # Example: Even numbers
    even_numbers = [x for x in range(10) if x % 2 == 0]
    print(even_numbers)  # [0, 2, 4, 6, 8]
        

4. Nested Loops in List Comprehensions

List comprehensions can include multiple loops for generating elements.

Example:

    # Example: Cartesian product
    pairs = [(x, y) for x in [1, 2, 3] for y in ['a', 'b']]
    print(pairs)  # [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
        

5. List Comprehensions with Functions

You can use functions inside list comprehensions to manipulate elements.

Example:

    # Example: Apply a function
    def square(x):
        return x * x

    squared_numbers = [square(x) for x in range(5)]
    print(squared_numbers)  # [0, 1, 4, 9, 16]
        

6. Conditional Expressions

List comprehensions can use conditional expressions to generate different values based on a condition.

Example:

    # Example: Odd or even labels
    labels = ["even" if x % 2 == 0 else "odd" for x in range(5)]
    print(labels)  # ['even', 'odd', 'even', 'odd', 'even']
        

7. Flattening a Nested List

List comprehensions can flatten nested lists into a single list.

Example:

    # Example: Flatten a list
    nested = [[1, 2], [3, 4], [5, 6]]
    flattened = [item for sublist in nested for item in sublist]
    print(flattened)  # [1, 2, 3, 4, 5, 6]
        

8. Performance of List Comprehensions

List comprehensions are usually faster than equivalent loops because they are optimized for creating lists. However, they can become less readable for complex logic.

Example:

    # Example: Loop vs. comprehension
    # Using a loop
    squares = []
    for x in range(5):
        squares.append(x**2)

    # Using a list comprehension
    squares = [x**2 for x in range(5)]
        

Conclusion

List comprehensions in Python are a powerful tool for creating and manipulating lists with clean and concise syntax. While they can improve performance and readability, they should be used judiciously to avoid overly complex expressions.



Advertisement





Q3 Schools : India


Online Complier

HTML 5

Python

java

C++

C

JavaScript

Website Development

HTML

CSS

JavaScript

Python

SQL

Campus Learning

C

C#

java