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]
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course.