Skip to content
Related Articles

Related Articles

Improve Article

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]

 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. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course




My Personal Notes arrow_drop_up
Recommended Articles
Page :