# Difference between List comprehension and Lambda in Python

• Difficulty Level : Easy
• Last Updated : 10 Jul, 2020

List comprehension: List comprehension is an elegant way to define and create a list in python. We can create lists just like mathematical statements and in one line only. The syntax of list comprehension is easier to grasp. A list comprehension generally consists of these parts :

• Output expression,
• Input sequence,
• A variable representing a member of the input sequence and
• An optional predicate part.
```List = [expression(i) for i in another_list if filter(i)]
```

Example :

 `lst  ``=`  `[x ``*``*` `2`  `for` `x ``in` `range` `(``1``, ``11``)   ``if`  `x ``%` `2` `=``=` `1``] ` `print``(lst) `

Output:

`[1, 9, 25, 49, 81]`

In the above example,

• x ** 2 is the expression.
• range (1, 11) is input sequence or another list.
• x is the variable.
• if x % 2 == 1 is predicate part.

Lambda: In Python, anonymous function means that a function is without a name. As we already know the def keyword is used to define the normal functions and the lambda keyword is used to create anonymous functions. It has the following syntax:

Syntax:

`lambda arguments : expression`

Example:

 `lst ``=` `list``(``map``(``lambda` `x: x``*``*``2``, ``range``(``1``, ``5``))) ` `print``(lst) `

Output:

`[1, 4, 9, 16]`

## The difference between Lambdas and List Comprehension

List Comprehension is used to create lists, Lambdas are functions that can process like other functions and thus return values or list.
Example :

 `# list from range 0 to 10 ` `list_ ``=` `[``0``, ``1``, ``2``, ``3``, ``4``, ``5``, ``6``, ``7``, ``8``, ``9``] ` `print``(list_) ` `  `  `# lambda function ` `lambda_list ``=` `list``(``map``(``lambda` `x: x ``*` `2``, list_)) ` ` `  `# Map basically iterates every element ` `# in the list_ and returns the lambda  ` `# function result ` `print``(lambda_list) ` `  `  `# list comprehension ` `list_comp ``=` `[x ``*` `2` `for` `x ``in` `list_] ` `print``(list_comp) `

Output:

```[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]```

My Personal Notes arrow_drop_up
Recommended Articles
Page :