List comprehensions in Python

In Python, list comprehensions provide a concise and efficient way to create new lists based on existing lists or other iterable objects. List comprehensions follow a specific syntax that allows you to combine looping and conditional expressions in a single line of code.

Here’s the general syntax of a list comprehension:

new_list = [expression for item in iterable if condition]
expression is the expression or transformation you want to apply to each item.
item is the variable representing each element in the iterable.
iterable is the existing list, tuple, string, or any other iterable object.
condition is an optional condition that filters elements based on a specific criterion.
Here are a few examples to illustrate the usage of list comprehensions:

h_letters = [ letter for letter in 'human' ]
print( h_letters)
#list comprehensions are usually more human readable than lambda functions
letters = list(map(lambda x: x+"new", 'human'))
print(letters)

number_list = [ x for x in range(20) if x % 2 == 0]
print(number_list)

#nested if

num_list = [y for y in range(100) if y % 2 == 0 if y % 5 == 0]
print(num_list)

obj = ["Even" if i%2==0 else "Odd" for i in range(10)]
print(obj)

List comprehensions offer a concise and readable way to manipulate lists and perform operations on their elements. They are widely used in Python programming to simplify code and make it more expressive.