Zone Of Makos

Menu icon

List Comprehensions in Python

In Python, list comprehensions are a concise way to create lists. They provide a shorthand for creating a new list by applying an expression to each element of an existing list, or to a range of values. List comprehensions are very powerful and flexible, and can often replace longer and more complex code.

Syntax of List Comprehensions

The syntax of a list comprehension in Python is as follows:


new_list = [expression for variable in iterable]

The expression is evaluated for each element in the iterable , and the results are collected into a new list. The variable represents the current element in the iterable.

Examples of List Comprehensions

Here are some examples of list comprehensions in Python:


# Create a list of squares of numbers from 0 to 9
squares = [x**2 for x in range(10)]

# Create a list of even numbers from 0 to 9
evens = [x for x in range(10) if x % 2 == 0]

# Create a list of the first letter of each word in a string
words = "This is a sample string"
letters = [word[0] for word in words.split()]

# Create a list of tuples from two lists
list1 = [1, 2, 3]
list2 = [4, 5, 6]
tuples = [(x, y) for x in list1 for y in list2]

Nested List Comprehensions

List comprehensions can be nested, which allows you to create more complex expressions. Here is an example of a nested list comprehension:


# Create a matrix as a list of lists
matrix = [[x for x in range(3)] for y in range(3)]

This code creates a 3x3 matrix as a list of lists, with each element initialized to its column index.

Conclusion

List comprehensions are a powerful feature in Python that allow you to create lists in a concise and efficient way. They provide a shorthand for applying an expression to each element of an iterable, and can often replace longer and more complex code. List comprehensions are an essential tool in Python, and mastering them will help you write more efficient and maintainable code.