DEV Community

tinega
tinega

Posted on • Edited on

2

List & Dictionary Comprehension in Python

List Comprehension

Python lists are a fundamental data structure for storing and managing data collections. Lists are adaptable, flexible, and may store a variety of data kinds, including integers, strings, and even other lists.
List comprehension lets you make a new list by applying an expression to each item in an existing iterable (such as a list, tuple, or range) and optionally filtering the items depending on a condition. List comprehensions are a more compact and readable means of creating lists than typical for loops.
As an example, suppose we want to create a new list of even numbers from a list of random numbers.

numbers = [84, 77, 50, 89, 33, 36, 59, 31, 76, 1, 20, 58, 59, 93, 70, 28, 51, 7, 48, 74]

Enter fullscreen mode Exit fullscreen mode

Using a for loop

even_numbers = []

for number in numbers:
    if number % 2 == 0:
        even_numbers.append(number)
Enter fullscreen mode Exit fullscreen mode

Using list comprehension

even_numbers = [num for num in numbers if num % 2 == 0]
Enter fullscreen mode Exit fullscreen mode

the syntax for list comprehension is :

list = [new_item for item in some_list if conditional_statement]
Enter fullscreen mode Exit fullscreen mode

Dictionary Comprehension

Dictionaries in Python are a versatile data structure that may be used to store and manage collections of key-value pairs.
Dictionary comprehension is a simple and effective method for creating dictionaries in Python. You can create dictionaries by specifying key-value pairs based on an expression and an iterable. Dictionary comprehensions are a logical extension of list comprehensions and a useful feature for easily generating dictionaries without the use of explicit loops.

suppose we have a dictionary of cars and year of manufacture, and we want to create a dictionary of recently manufactured ones

car_dictionary = {
    "Tesla Model 3": 2020,
    "Toyota Camry": 2022,
    "Ford Mustang": 2021,
    "Honda Civic": 2023,
    "Chevrolet Silverado": 2019
}

Enter fullscreen mode Exit fullscreen mode

using a for loop

recently_manufactured = {}

for (car,year) in car_dictionary.items():
    if year > 2021:
        recently_manufactured[car] = year

Enter fullscreen mode Exit fullscreen mode

using dictionary comprehension

recently_manufactured = {car:year for (car, year) in car_dictionary.items() if year > 2021}
Enter fullscreen mode Exit fullscreen mode

the syntax for dictionary comprehension is:

dictionary = {new_key:new_value for (key, value) in some_dict.items() if conditional_statement}
Enter fullscreen mode Exit fullscreen mode

Heroku

Build apps, not infrastructure.

Dealing with servers, hardware, and infrastructure can take up your valuable time. Discover the benefits of Heroku, the PaaS of choice for developers since 2007.

Visit Site

Top comments (0)

Qodo Takeover

Introducing Qodo Gen 1.0: Transform Your Workflow with Agentic AI

Rather than just generating snippets, our agents understand your entire project context, can make decisions, use tools, and carry out tasks autonomously.

Read full post

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay