list comprehension within list comprehension code example

Example 1: list comprehension if else

l = [22, 13, 45, 50, 98, 69, 43, 44, 1]
a = [x + 1 if x >= 45 else x + 5 for x in l]

Example 2: list comprehension python

# All of the possibilies that can be done with the List Comprehension

vec = [-4, -2, 0, 2, 4]
# create a new list with the values doubled

doubled = [x*2 for x in vec]
# [-8, -4, 0, 4, 8]

# filter the list to exclude negative numbers
greater_thatn_0 = [x for x in vec if x >= 0]
# output [0, 2, 4]

# apply a function to all the elements
positive = [abs(x) for x in vec]
#  output [4, 2, 0, 2, 4]

# call a method on each element
freshfruit = ['  banana', '  loganberry ', 'passion fruit  ']
fruits_nospaces = [weapon.strip() for weapon in freshfruit]
# output ['banana', 'loganberry', 'passion fruit']

# create a list of 2-tuples like (number, square)
squares = [(x, x**2) for x in range(6)]
# output [(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25)]

# the tuple must be parenthesized, otherwise an error is raised
# error = [x, x**2 for x in range(6)]
  #   error = [x, x**2 for x in range(6)]
                     ^
# SyntaxError: invalid syntax

# flatten a list using a listcomp with two 'for'
vec = [[1,2,3], [4,5,6], [7,8,9]]
unpacking_tuple = [num for elem in vec for num in elem]
# output [1, 2, 3, 4, 5, 6, 7, 8, 9]

Example 3: python list comprehension

nums = [4, -7, 9, 1, -1, 8, -6]
half_of_nums = [x/2 for x in nums] #[2, -3.5, 4.5, 0.5, -0.5, 4, -3]

#optionally you can add an if statement like this
half_of_positive_nums = [x/2 for x in nums if x>=0] #[2, 4.5, 0.5, 4]

Example 4: nested loop in list comprehension

# 2-D List 
matrix = [[1, 2, 3], [4, 5], [6, 7, 8, 9]] 
  
# Nested List Comprehension to flatten a given 2-D matrix 
flatten_matrix = [val for sublist in matrix for val in sublist] 
  
print(flatten_matrix)

Example 5: list comprehension

# List comprehension 

        
list_comp = [i+3 for i in range(20)]

# above code is similar to 

for i in range(20):
	print(i + 3)

Example 6: list comprehension python 3

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