Practicing Coding Interview Questions in Python
Kirill Smirnov
Data Science Consultant, Altran
zip
- object that combines several iterable objects into one iterable object.
$\text{e}_\text{i}$ - an element from an Iterable
zip
- object that combines several iterable objects into one iterable object.
$\text{e}_\text{i}$ - an element from an Iterable
zip
- object that combines several iterable objects into one iterable object.
$\text{e}_\text{i}$ - an element from an Iterable
title = 'TMNT'
villains = ['Shredder', 'Krang', 'Bebop', 'Rocksteady']
turtles = {
'Raphael': 'Sai', 'Michelangelo': 'Nunchaku',
'Leonardo': 'Twin katana', 'Donatello': 'Bo'
}
result = zip(title, villains, turtles)
print(result)
<zip object at 0x7f37bab6e608>
result = zip(title, villains, turtles)
for item in result:
print(item)
('T', 'Shredder', 'Raphael')
('M', 'Krang', 'Michelangelo')
('N', 'Bebop', 'Leonardo')
('T', 'Rocksteady', 'Donatello')
result = zip(title, villains, turtles)
tuples = list(result)
print(tuples)
[
('T', 'Shredder', 'Raphael'), ('M', 'Krang', 'Michelangelo'),
('N', 'Bebop', 'Leonardo'), ('T', 'Rocksteady', 'Donatello')
]
result = zip(title, villains, turtles)
next(result)
('T', 'Shredder', 'Raphael')
next(result)
('M', 'Krang', 'Michelangelo')
next(result)
('N', 'Bebop', 'Leonardo')
next(result)
('T', 'Rocksteady', 'Donatello')
next(result)
StopIteration
result = zip(title, villains, turtles)
for item in result:
print(item)
('T', 'Shredder', 'Raphael')
('M', 'Krang', 'Michelangelo')
('N', 'Bebop', 'Leonardo')
('T', 'Rocksteady', 'Donatello')
result = zip(title, villains, turtles)
for item in result:
print(item)
('T', 'Shredder', 'Raphael')
('M', 'Krang', 'Michelangelo')
...
for item in result:
print(item)
# nothing
result = zip(title, villains, turtles)
tuples = list(result)
print(tuples)
[
('T', 'Shredder', 'Raphael'),
('M', 'Krang', 'Michelangelo'),
('N', 'Bebop', 'Leonardo'),
('T', 'Rocksteady', 'Donatello')
]
result = zip(title, villains, turtles)
for item in result:
print(item)
('T', 'Shredder', 'Raphael')
('M', 'Krang', 'Michelangelo')
...
for item in result:
print(item)
# nothing
result = zip(title, villains, turtles)
tuples = list(result)
print(tuples)
[
('T', 'Shredder', 'Raphael'),
...
tuples = list(result)
print(tuples)
[]
title = 'TMNT'
villains = ['Shredder', 'Krang', 'Bebop', 'Rocksteady']
turtles = {
'Raphael': 'Sai', 'Michelangelo': 'Nunchaku',
'Leonardo': 'Twin katana', 'Donatello': 'Bo'
}
title = 'Teenage Mutant Ninja Turtles'
villains = ['Shredder', 'Krang', 'Bebop', 'Rocksteady']
turtles = {
'Raphael': 'Sai', 'Michelangelo': 'Nunchaku',
'Leonardo': 'Twin katana', 'Donatello': 'Bo'
}
result = zip(title, villains, turtles)
result = zip(title, villains, turtles)
for item in result:
print(item)
('T', 'Shredder', 'Raphael')
('e', 'Krang', 'Michelangelo')
('e', 'Bebop', 'Leonardo')
('n', 'Rocksteady', 'Donatello')
turtle_masks = [
('Raphael', 'red'), ('Michelangelo', 'orange'),
('Leonardo', 'blue'), ('Donatello', 'purple')
]
result = zip(*turtle_masks)
print(result)
[
('Raphael', 'Michelangelo', 'Leonardo', 'Donatello'),
('red', 'orange', 'blue', 'purple')
]
turtle_masks = [
('Raphael', 'red'), ('Michelangelo', 'orange'),
('Leonardo', 'blue', 'cyan'), ('Donatello', 'purple', 'magenta')
]
result = zip(*turtle_masks)
print(result)
[
('Raphael', 'Michelangelo', 'Leonardo', 'Donatello'),
('red', 'orange', 'blue', 'purple')
]
A zip
object can be used to create a dictionary
keys = ['movie', 'year', 'director']
values = [
['Forest Gump', 'Goodfellas', 'Se7en'],
[1994, 1990, 1995],
['R.Zemeckis', 'M.Scorsese', 'D.Fincher']
]
movies = dict(zip(keys, values))
print(movies)
{
'director': [
'R.Zemeckis',
'M.Scorsese',
'D.Fincher'
],
'movie': [
'Forest Gump',
'Goodfellas',
'Se7en'
],
'year': [1994, 1990, 1995]
}
import pandas as pd
df_movies = pd.DataFrame(movies)
print(df_movies)
director movie year
0 Robert Zemeckis Forest Gump 1994
1 Martin Scorsese Goodfellas 1990
2 David Fincher Se7en 1995
list()
import pandas as pd
df_movies = pd.DataFrame(movies)
print(df_movies)
director movie year
0 Robert Zemeckis Forest Gump 1994
1 Martin Scorsese Goodfellas 1990
2 David Fincher Se7en 1995
list()
$\rightarrow$ zip()
import pandas as pd
df_movies = pd.DataFrame(movies)
print(df_movies)
director movie year
0 Robert Zemeckis Forest Gump 1994
1 Martin Scorsese Goodfellas 1990
2 David Fincher Se7en 1995
list()
$\rightarrow$ zip()
$\rightarrow$ dict()
import pandas as pd
df_movies = pd.DataFrame(movies)
print(df_movies)
director movie year
0 Robert Zemeckis Forest Gump 1994
1 Martin Scorsese Goodfellas 1990
2 David Fincher Se7en 1995
list()
$\rightarrow$ zip()
$\rightarrow$ dict()
$\rightarrow$ DataFrame()
Practicing Coding Interview Questions in Python