Format strings
age = 29
name = 'Bazso'
print('My name is {one} and I am {two} years old'.format(one=name, two=age))
List
my_list = [1, 2, 3]
my_list.append(4)
my_list
nested_list = [1, 2, [3, 4], 'Hello']
print(nested_list[0])
print(nested_list[2])
print(nested_list[2][0])
print(nested_list[3])
Indexing Strings and Lists
my_str = 'abcdef'
my_list = [1, 2, [3, 'Hello']]
print(my_str[0:3])
print(my_list[2:])
Dictionaries
d = {'key1' : 'Hello', 'key2' : 3, 'key3' : [1, 2, [1, 'Hello']]}
print(d['key1'])
print(d['key2'])
print(d['key3'])
d = {'k1' : {'inner_k1' : [1, 2, 3]}}
print(d['k1'])
print(d['k1']['inner_k1'])
Tuples
my_tuple = (1, 2, 3) # tuples are immutable objects !
print(my_tuple[0])
# my_tuple[0] = 2 # illegal
Sets
# collection of unique elements
my_set = {1, 2, 3}
print(my_set)
my_set.add(4)
print(my_set)
my_set.add(4)
print(my_set) # because unique elements!
my_list = [1, 1, 1, 2]
s = set(my_list)
print(s)
Loops
seq = [1, 2, 3]
for s in seq:
print(s)
for i in range(0, 3):
print(i)
print( list(range(0, 5)) ) # range is a function which is generate a sequance
List comprehension
s = [1, 2, 3]
out = []
for i in s:
out.append(i*i)
print(out)
###### This is the same
out = [i ** 2 for i in s]
print(out)
i = 0
while i < 3:
print('iteration {}...'.format(i))
i += 1
Functions
def func1(name = 'Default name'):
print('Hello ' + name)
func1()
func1('Bazso')
def square_func(num):
"""
This is a doc stings
return the squares of the param
jupyter notebook shift+tab show the doc string
"""
return num**2
num = square_func(3)
print(num)
Map function
def times2(var):
return var * 2
seq = list(range(0, 5))
print(seq)
seq_times2 = list( map(times2, seq) )
print(seq_times2)
Lambda expression
print(seq)
seq2 = list( map( lambda num : num*3, seq ) )
print(seq2)
Filters
s = list( filter( lambda num: num%2 == 0, seq ) )
print(seq)
print(s)
Built in methods
Huge number of built in methods can be used ...
s = 'hello my name is Bazso #bazso'
print( s.upper() )
print( s.split() )
print( s.split('#') )
d = {'name':'Bazso', 'age':29}
print( d.keys() )
print( d.values() )
for keys in d.keys():
print(d[keys])
'x' in ['x', 1, 3]
Tuple unpacking
x = [(1,2), (3,4), (5,6)]
for i in x:
print(i)
# unpacking
for a, b in x:
print(a)