কম্পিউটার টিউটোরিয়াল

পাইথন zip() ফাংশন


zip() ফাংশন একাধিক ইটারেটর গ্রুপ করতে ব্যবহৃত হয়। help মেথড দিয়ে zip() ফাংশনের ডকুমেন্টেশন দেখুন। নিচের কোড রান করে zip() ফাংশনে হেল্প পান।

উদাহরণ

help(zip)

উপরের প্রোগ্রাম রান করলে নিচের রেজাল্ট আসবে।

আউটপুট

Help on class zip in module builtins:
class zip(object)
    | zip(iter1 [,iter2 [...]]) --> zip object
    |     | Return a zip object whose .__next__() method returns a tuple where
    |     | the i-th element comes from the i-th iterable argument. The .__next__()
    |     | method continues until the shortest iterable in the argument sequence
    |     | is exhausted and then it raises StopIteration.
    |     |
    |     | Methods defined here:
    |     |     __getattribute__(self, name, /)
    |     |     Return getattr(self, name).
    |     |     __iter__(self, /)
    |     |     Implement iter(self).
    |     |     __new__(*args, **kwargs) from builtins.type
    |     |     Create and return a new object. See help(type) for accurate signature.
    |     |     __next__(self, /)
    |     |     Implement next(self).
    |     |     __reduce__(...)
    |     |     Return state information for pickling.

এখন দেখি এটি কীভাবে কাজ করে?

উদাহরণ

## দুটি লিস্ট ইনিশিয়ালাইজ
names = ['Harry', 'Emma', 'John']
ages = [19, 20, 18]
## উভয় লিস্ট জিপ করা
## zip() উভয় লিস্ট থেকে করেসপন্ডিং এলিমেন্ট নিয়ে টাপল পেয়ার রিটার্ন করবে
print(list(zip(names, ages)))

উপরের প্রোগ্রাম রান করলে নিচের রেজাল্ট আসবে:

আউটপুট

[('Harry', 19), ('Emma', 20), ('John', 18)]

আমরা জিপড অবজেক্ট থেকে এলিমেন্ট আনজিপ (unzip) ও করতে পারি। জিপড অবজেক্টের সামনে * দিয়ে zip() ফাংশনে পাস করতে হবে। দেখি।

উদাহরণ

## দুটি লিস্ট ইনিশিয়ালাইজ
names = ['Harry', 'Emma', 'John']
ages = [19, 20, 18]
## উভয় লিস্ট জিপ করা
zipped = list(zip(names, ages))
## আনজিপ করা
new_names, new_ages = zip(*zipped)
## নতুন নাম ও বয়স চেক
print(new_names)
print(new_ages)

উপরের প্রোগ্রাম রান করলে নিচের রেজাল্ট আসবে।

('Harry', 'Emma', 'John')
(19, 20, 18)

zip() ফাংশনের সাধারণ ব্যবহার

আমরা এটি ব্যবহার করতে পারি একাধিক ইটারেটর থেকে করেসপন্ডিং এলিমেন্ট একসাথে প্রিন্ট করার জন্য। নিচের উদাহরণটি দেখুন।

উদাহরণ

## দুটি লিস্ট ইনিশিয়ালাইজ
names = ['Harry', 'Emma', 'John']
ages = [19, 20, 18]
## zip() ব্যবহার করে নাম ও বয়স করেসপন্ডিংলি প্রিন্ট
for name, age in zip(names, ages):
    print(f"{name}'s age is {age}")

উপরের প্রোগ্রাম রান করলে নিচের রেজাল্ট আসবে।

আউটপুট

Harry's age is 19
Emma's age is 20
John's age is 18
  1. পাইথন টкин্টার-এ ফাংশন বাইন্ডিং

  2. পাইথনে issubset() ফাংশন

  3. পাইথনে intersection() ফাংশন

  4. পাইথনে zip ফাংশন ব্যবহার করে নতুন ক্যারেক্টার সেটে রূপান্তর