zip ऑब्जेक्ट क्या है?

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

Kirill Smirnov

Data Science Consultant, Altran

परिभाषा

zip - ऐसा ऑब्जेक्ट जो कई iterable ऑब्जेक्ट्स को एक ही iterable में जोड़ता है.

Iterable का सेट

$\text{e}_\text{i}$ - किसी Iterable का एक एलिमेंट

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

परिभाषा

zip - ऐसा ऑब्जेक्ट जो कई iterable ऑब्जेक्ट्स को एक ही iterable में जोड़ता है.

कई Iterables को zip ऑब्जेक्ट में जोड़ना

$\text{e}_\text{i}$ - किसी Iterable का एक एलिमेंट

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

परिभाषा

zip - ऐसा ऑब्जेक्ट जो कई iterable ऑब्जेक्ट्स को एक ही iterable में जोड़ता है.

zip ऑब्जेक्ट पर iterate करना

$\text{e}_\text{i}$ - किसी Iterable का एक एलिमेंट

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

उदाहरण

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>
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

zip ऑब्जेक्ट में traversal

result = zip(title, villains, turtles)
for item in result:
    print(item)
('T', 'Shredder', 'Raphael')
('M', 'Krang', 'Michelangelo')
('N', 'Bebop', 'Leonardo')
('T', 'Rocksteady', 'Donatello')
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

ट्यूपल्स की सूची लौटाना

result = zip(title, villains, turtles)
tuples = list(result)
print(tuples)
[
    ('T', 'Shredder', 'Raphael'), ('M', 'Krang', 'Michelangelo'),
    ('N', 'Bebop', 'Leonardo'), ('T', 'Rocksteady', 'Donatello')
]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

Iterator के रूप में zip ऑब्जेक्ट

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
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

zip ऑब्जेक्ट खर्च हो जाता है

result = zip(title, villains, turtles)
for item in result:
    print(item)
('T', 'Shredder', 'Raphael')
('M', 'Krang', 'Michelangelo')
('N', 'Bebop', 'Leonardo')
('T', 'Rocksteady', 'Donatello')
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

zip ऑब्जेक्ट खर्च हो जाता है

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')
]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

'zip' ऑब्जेक्ट खर्च हो जाता है

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)
[]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

Iterables का असमान आकार

title = 'TMNT'
villains = ['Shredder', 'Krang', 'Bebop', 'Rocksteady']
turtles = {
    'Raphael': 'Sai', 'Michelangelo': 'Nunchaku',
    'Leonardo': 'Twin katana', 'Donatello': 'Bo'
}
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

Iterables का असमान आकार

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)
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

'zip' ऑब्जेक्ट में traversal

result = zip(title, villains, turtles)
for item in result:
    print(item)
('T', 'Shredder', 'Raphael')
('e', 'Krang', 'Michelangelo')
('e', 'Bebop', 'Leonardo')
('n', 'Rocksteady', 'Donatello')
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

रिवर्स ऑपरेशन

turtle_masks = [
    ('Raphael', 'red'), ('Michelangelo', 'orange'),
    ('Leonardo', 'blue'), ('Donatello', 'purple')
]
result = zip(*turtle_masks)
print(result)
[
    ('Raphael', 'Michelangelo', 'Leonardo', 'Donatello'),
    ('red', 'orange', 'blue', 'purple')
]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

असमान ट्यूपल आकार

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')
]
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

dictionary से संबंध

zip ऑब्जेक्ट से 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]
}
Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

DataFrame बनाना

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()

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

DataFrame बनाना

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()

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

DataFrame बनाना

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()

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

DataFrame बनाना

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()

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

अभ्यास करते हैं!

Python में कोडिंग इंटरव्यू प्रश्नों का अभ्यास

Preparing Video For Download...