# List Comprehension

Matlab

create new list from elements of another list

newList = [ doSomethingWith(element) for element in oldList ]

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

## Examples

# generate squared numbers from a sequence x = 1...10

[x*x for x in range(1,11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# same, but using a function

def f(x):

return x*x

y = [f(x) for x in range(1,11)]

[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]

# converting all strings into int numbers

mylist = ['4', '1', '3', '2']

['4', '1', '3', '2']

n = [ int(x) for x in mylist ]

[4, 1, 3, 2]

# add '1' strings to all strings in a list

mylist = ['A', 'B', 'C']

[ s+'1' for s in mylist ]

['A1', 'B1', 'C1']

# if condition (get all numbers <3)

mylist=[1,2,3,4]

[ x for x in mylist if x<3 ]

[1, 2]

# get prefix of all elements in list, cutted at '-' symbol

mylist = ['A-1', 'B-2', 'C-3']

[ s.split('-') for s in mylist ] #  means: take first element after cutting

['A', 'B', 'C']