# How Do You Use Map Data Structure in Python?

//

Scott Campbell

How Do You Use Map Data Structure in Python?

The map data structure in Python is a built-in function that allows you to apply a given function to each item of an iterable (such as a list, tuple, or set) and return an iterator of the results. It is a powerful tool for performing transformations on collections of data.

## Creating a Map

To create a map, you need to define a function that will be applied to each item in the iterable. Let’s say we have a list of numbers and we want to square each number using the map function:

```numbers = [1, 2, 3, 4, 5]

def square(x):
return x ** 2

squared_numbers = list(map(square, numbers))
print(squared_numbers)
```

The output will be:

```[1, 4, 9, 16, 25]
```

In this example, the function `square()` is applied to each item in the `numbers` list using the `map()` function. The result is a new list with each number squared.

## Lambda Functions

You can also use lambda functions with the map data structure. Lambda functions are anonymous functions that can be defined inline. Let’s rewrite the previous example using lambda functions:

squared_numbers = list(map(lambda x: x ** 2, numbers))
print(squared_numbers)

The output will be the same as before:

In this case, we define the function directly inside the `map()` function using a lambda function. The lambda function takes one argument `x` and returns `x ** 2`.

## Applying Map to Multiple Iterables

The map function can also be used with multiple iterables. In this case, the given function should accept as many arguments as there are iterables. Let’s see an example:

```numbers = [1, 2, 3]
squares = [1, 4, 9]

return x + y

print(sums)
```
```[2, 6, 12]
```

In this example, the `add()` function takes two arguments `x` and `y`, and returns their sum. The `map()` function applies the `add()` function to each pair of corresponding elements from both lists.

## Built-in Functions with Map

The map data structure can also be combined with built-in functions like len(), str(), or any other that takes an iterable as an argument. Here’s an example:

```words = ["apple", "banana", "cherry"]

lengths = list(map(len, words))
print(lengths)
```
```[5, 6, 6]
```

In this case, the len() function is applied to each word in the `words` list using the `map()` function. The result is a new list with the lengths of each word.

### Conclusion

The map data structure in Python is a versatile tool for transforming data in an iterable. It allows you to apply a given function to each item of the iterable and obtain an iterator of the results. Whether you use a regular function, a lambda function, or combine it with built-in functions, map simplifies and streamlines your code.

Explore the power of map in Python and leverage its capabilities to make your code more concise and efficient!