# 5 Essential Python Techniques for Efficient Coding

## 1. Lambda Functions

Lambda functions are small, anonymous functions that can take any number of arguments, but only have one expression. They are useful when you need a quick and easy way to define a function without the hassle of defining a separate function in the code.

Syntax:

```
lambda arguments: expression
```

Here’s an example of how to use a lambda function in Python:

```
x = lambda a, b: a * b
print(x(2, 4)) # Output: 8
```

## 2. List Comprehensions

List comprehensions are a concise and efficient way of creating lists based on existing lists. The syntax is simple, and the resulting code is easy to read and maintain.

Syntax:

```
[expression for item in list]
```

Here’s an example of how to use a list comprehension in Python:

```
even_numbers = [x for x in range(100) if x % 2 == 0]
print(even_numbers) # Output: [0, 2, 4, 6, ..., 98]
```

## 3. Map

The map function is a built-in Python function that applies a given function to each item of a given iterable and returns a map object. It’s a great way to apply operations to large lists or sequences of data.

Syntax:

```
map(function, iterable, ...)
```

Here’s an example of how to use the map function in Python:

```
numbers = [2, 4, 6, 8, 10]
# Returns the square of a number
def square(number):
return number * number
# Apply the square() function to each item in the numbers list
squared_numbers_iterator = map(square, numbers)
# Convert the map object to a list
squared_numbers = list(squared_numbers_iterator)
print(squared_numbers) # Output: [4, 16, 36, 64, 100]
```

## 4. Sorting Dictionaries

Sorting dictionaries is a common operation in Python, and the sorted function allows you to sort dictionaries based on different criteria. The key parameter allows you to specify the basis for the sort comparison.

Syntax:

```
sorted(iterable, key=None, reverse=False)
```

Here’s an example of how to sort a list of dictionaries in Python:

```
participant_list = [
('Alison', 50, 18),
('Terence', 75, 12),
('David', 75, 20),
('Jimmy', 90, 22),
('John', 45, 12)
]
sorted_list = sorted(participant_list, key=lambda item: (100 - item[1], item[2]))
print(sorted_list)
```

## 5. Filter

The filter function is a built-in function in Python that allows you to filter a sequence (such as a list, tuple, or string) based on a certain condition. The condition is defined in the form of a function that tests each element in the sequence to determine whether it should be included in the filtered output or not.

Syntax:

```
filter(function, iterable)
```

Here’s an example of how to use filter method in Python:

```
numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
# returns True if number is even
def check_even(number):
if number % 2 == 0:
return True
return False
even_numbers_iterator = filter(check_even, numbers)
# converting to list
even_numbers = list(even_numbers_iterator)
print(even_numbers)
```