Skip to main content
Home
  • Tutorials
    • Quality Assurance
    • Software Development
    • Machine Learning
    • Data Science
  • About Us
  • Contact
programsbuzz facebook programsbuzz twitter programsbuzz linkedin
  • Log in

Main navigation

  • Tutorials
    • Quality Assurance
    • Software Development
    • Machine Learning
    • Data Science
  • About Us
  • Contact

Python: List Comprehension

Profile picture for user devanshi.srivastava
Written by devanshi.srivastava on 06/09/2021 - 12:41

It is consists of brackets containing the expression, which is executed for each element along with the for loop to iterate over each element. It is used for creating new lists from other iterables like tuples, strings, arrays, lists, etc. A list comprehension consists of brackets containing the expression, which is executed for each element along with the for loop to iterate over each element. It requires fewer line of code. As compared to loops it is more time efficient and space efficient.

Syntax:

newList = [ expression(element) for element in oldList if condition ]

List Comprehension vs Loops

List comprehension is a single line code. By using for loop we can iterate in the same way but List comprehension does the same task and also makes the program more simple. It is an elegant way to define and create lists based on existing lists. It is more efficient both computationally and in terms of coding space and time than a for loop.

Using Loop:

my_list = []
for character in 'ProgramsBuzz':
    my_list.append(character)
    
print(my_list)  

Output: ['P', 'r', 'o', 'g', 'r', 'a', 'm', 's', 'B', 'u', 'z', 'z']

Using List Comprehension:

my_list = [character for character in 'ProgramsBuzz']
print(my_list)

Output: ['P', 'r', 'o', 'g', 'r', 'a', 'm', 's', 'B', 'u', 'z', 'z']

List Comprehensions and Lambda

There are various in-built function which can create and modify lists in less lines of code.

Lambda Expressions are nothing but shorthand representation of Python functions. Using list comprehensions with lambda creates an efficient combination.

letters = list(map(lambda x: x, 'python'))
print(letters)

Output: ['p', 'y', 't', 'h', 'o', 'n']

Nested List Comprehension

It is similar to nested for loop ,nested list comprehensions are nothing but a list comprehension within another list comprehensions.

matrix = []
for i in range(4):
    matrix.append([])
    for j in range(3):
        matrix[i].append(j)
       
print(matrix)

Output: [[0, 1, 2], [0, 1, 2], [0, 1, 2], [0, 1, 2]]

Key Points

  •  It is an elegant way to define and create lists based on existing lists.
  • we should avoid writing very long list comprehensions in one line to ensure that code is user-friendly.
  • Remember, every list comprehension can be rewritten in for loop, but every for loop can’t be rewritten in the form of list comprehension.
  • Comprehension of the list is an effective means of describing and constructing lists based on current lists.
Related Content
Python Tutorial
Python: Access List items
Python List
Tags
Python
  • Log in or register to post comments

Choose Your Technology

  1. Agile
  2. Apache Groovy
  3. Apache Hadoop
  4. Apache HBase
  5. Apache Spark
  6. Appium
  7. AutoIt
  8. AWS
  9. Behat
  10. Cucumber Java
  11. Cypress
  12. DBMS
  13. Drupal
  14. GitHub
  15. GitLab
  16. GoLang
  17. Gradle
  18. HTML
  19. ISTQB Foundation
  20. Java
  21. JavaScript
  22. JMeter
  23. JUnit
  24. Karate
  25. Kotlin
  26. LoadRunner
  27. matplotlib
  28. MongoDB
  29. MS SQL Server
  30. MySQL
  31. Nightwatch JS
  32. PactumJS
  33. PHP
  34. Playwright
  35. Playwright Java
  36. Playwright Python
  37. Postman
  38. Project Management
  39. Protractor
  40. PyDev
  41. Python
  42. Python NumPy
  43. Python Pandas
  44. Python Seaborn
  45. R Language
  46. REST Assured
  47. Ruby
  48. Selenide
© Copyright By iVagus Services Pvt. Ltd. 2023. All Rights Reserved.

Footer

  • Cookie Policy
  • Privacy Policy
  • Terms of Use