Example 1: 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 2: 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 3: list comprehensions
h_letters = [ letter for letter in 'human' ]
print( h_letters)
Example 4: python list comprehension
#example: removing common elements found in `a` from `b`.
a = [1,2,3,4,5]
b = [5,6,7,8,9]
# desired output: [1,2,3,4]
# gets each item found in `a` AND not in `b`
print([i for i in a if i not in b])
Example 5: list comprehension python
# without using List comprehension
numbers = [1,2,3]
new_list = []
for num in numbers:
new_list.append(num * 2)
print(new_list)
# List comprehension
new_list_compre = [num * 2 for num in numbers]
print(new_list_compre)
# List comprehension using range
double_list = [i*2 for i in range(1,5)]
print(double_list)
# conditional List Comprehensions
names = ['Alex', 'Beth', 'Caroline', 'Dave', 'Eleanor', 'Freddie']
# getting names less than 5 letters
short_names = [name for name in names if len(name) < 5]
print(short_names)
Example 6: list comprehension python
# Make a List that contains the doubled values of a given list:
values = [2, 4, 6, 8, 10]
doubled_values = [x*2 for x in values]
print(doubled_values) # Outputs [4, 8, 12, 16, 20]
# You could achieve the same result like this:
values = [2, 4, 6, 8, 10]
doubled_values = []
for x in values:
doubled_values.append(x*2)
print(doubled_values)