zip()

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

>>> Men = ['Romeo','Forhad','Majnu','Shajahan']
>>> Women = ['Juliet','Siri','Laily','Momtaj']
>>> for couple in zip(Men,Women):
...     print(couple)
... 
('Romeo', 'Juliet')
('Forhad', 'Siri')
('Majnu', 'Laily')
('Shajahan', 'Momtaj')
>>> type(couple)
<class 'tuple'>

এখানে আমরা একটি মাত্র ইটারেটর ব্যবহার করেছি কিন্তু প্রতিটি ইটারেবল এর জন্য আলাদা ইটারেটর ব্যবহার করা যায়। মনে করি, একটি কম্পানির তিনটি ডেটাসেট আছে যার একটিতে কর্মচারীর নাম,একটি তে পদবী ও অন্যটিতে বেতন ক্রমানুযায়ী রাখা আছে। আমাদের সে তিনটি ডেটা সেট থেকে ডেটা গুলোকে ফরম্যাট করে সহজে বোঝার মত একটি আউটপুট দেখাতে হবে।

>>> names = ('Richard','Danesh','Gylfoyl','Jarad','Erlick')
>>> positions = ('CEO','Software Eng','Tester','Legal Adviser','Sales Executive')
>>> salaries = (10000,8000,8000,5000,6000)
>>> for name,position,salary in zip(names,positions,salaries):
...     print(f"{name} is the '{position}' and he is paid {salary}$ per week")
... 
Richard is the 'CEO' and he is paid 10000$ per week
Danesh is the 'Software Eng' and he is paid 8000$ per week
Gylfoyl is the 'Tester' and he is paid 8000$ per week
Jarad is the 'Legal Adviser' and he is paid 5000$ per week
Erlick is the 'Sales Executive' and he is paid 6000$ per week

Last updated