ازگر میں زپ فنکشن کا استعمال کیسے کریں۔

How Use Zip Function Python



یہ مضمون ازگر کی معیاری ماڈیول لائبریری میں دستیاب زپ فنکشن پر ایک گائیڈ کا احاطہ کرے گا۔ یہ طریقہ آپ کو متعدد تکراری اشیاء کے عناصر کو جوڑنے اور جوڑنے کی اجازت دیتا ہے۔ پھر آپ ان جوڑوں پر مزید منطق چلا سکتے ہیں۔ بہت سے معاملات میں ، زپ فنکشن کا استعمال ایک سے زیادہ استعمال کرنے سے کہیں زیادہ موثر اور صاف ہے

زپ فنکشن کے بارے میں

جیسا کہ پہلے بیان کیا گیا ہے ، زپ فنکشن ایک سے زیادہ تکراری اشیاء کے عناصر سے جوڑے بنانے کے لیے استعمال ہوتا ہے۔ زپ فنکشن کے بنیادی نحو اور استعمال کو سمجھنے کے لیے نیچے دی گئی مثال پر غور کریں:







فہرست 1= ['سے'، 'ب'، 'ج']
فہرست 2= ['سیب'، 'گیند'، 'کیٹ']
زپ= زپ(فہرست 1،فہرست 2)
پرنٹ کریں (فہرست(زپ))

مندرجہ بالا کوڈ نمونے میں پہلے دو بیانات دو فہرستوں کی وضاحت کرتے ہیں جن میں کچھ عناصر شامل ہیں۔ اگلا ، زپ فنکشن استعمال کیا جاتا ہے list1 اور list2 متغیرات کو بطور دلائل۔ یہ زپ فنکشن کا مرکزی نحو ہے۔ آپ کو صرف فہرستوں یا دیگر درست آرڈر شدہ تکرار کو دلائل کے طور پر پاس کرنا ہوگا جن کے عناصر کو آپ اکٹھا کرنا چاہتے ہیں۔ آخر میں ، پرنٹ بیان زپ شدہ متغیر کی پیداوار حاصل کرنے کے لیے استعمال ہوتا ہے۔ مذکورہ کوڈ کے نمونے کو چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:



[('a' ، 'apple')، ('b'، 'ball')، ('c'، 'cat')]

نوٹ کریں کہ زپ فنکشن زپ ٹائپ آبجیکٹ لوٹتا ہے نہ کہ لسٹ۔ آپ کو اسے قابل تکرار قسم میں تبدیل کرنا ہوگا ، جیسا کہ اوپر پرنٹ بیان میں دکھایا گیا ہے۔



سادہ الفاظ میں ، زپ فنکشن ایک ہی انڈیکس کے عناصر کو دو فہرستوں سے اٹھا لیتا ہے اور انہیں جوڑے کے طور پر جوڑتا ہے۔ لہذا فہرست 1 سے 0 واں عنصر فہرست 2 کے 0 ویں عنصر کے ساتھ مل گیا ہے ، فہرست 1 سے پہلا عنصر فہرست 2 کے پہلے عنصر کے ساتھ مل گیا ہے۔ زپ فنکشن بائیں سے دائیں منتقل ہوتا ہے اور جوڑے والے عناصر پر مشتمل ٹیپل میں وہی انڈیکس ہوتا ہے جیسا کہ ان میں محفوظ عناصر۔





زپ کا استعمال کرتے ہوئے جب آئٹریبلز میں عناصر کی ایک ہی تعداد نہیں ہوتی ہے۔

اوپر بیان کردہ مثال میں ، دونوں فہرستوں میں عناصر کی برابر تعداد ہے۔ اگر آپ کچھ کوڈ کے ساتھ کام کر رہے ہیں جہاں دونوں فہرستوں میں عناصر کی تعداد یکساں نہیں ہے ، زپ فنکشن فہرست کے آخری عنصر پر رک جائے گا جس میں عناصر کی کم تعداد ہے۔

نیچے دی گئی مثال میں ، زپ فنکشن سی عنصر پر رک جائے گا ، قطع نظر لسٹ 2 میں ایک اور عنصر ہے۔



فہرست 1= ['سے'، 'ب'، 'ج']
فہرست 2= ['سیب'، 'گیند'، 'کیٹ'، 'گڑیا']
زپ= زپ(فہرست 1،فہرست 2)
پرنٹ کریں (فہرست(زپ))

مذکورہ کوڈ کے نمونے کو چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے:

[('a' ، 'apple')، ('b'، 'ball')، ('c'، 'cat')]

زپ فنکشن استعمال کرتے وقت آپ دو سے زیادہ قابل استعمال استعمال کرسکتے ہیں۔

عام طور پر ، زپ فنکشن دو تکراری اشیاء کا موازنہ کرنے کے لیے استعمال ہوتا ہے۔ تاہم ، آپ زپ فنکشن کے دلائل کے طور پر تکرار کی کسی بھی تعداد کو پاس کرسکتے ہیں۔ مختصر ترین فہرست کے آخری عنصر پر رکنے کا اصول اب بھی لاگو رہے گا۔

فہرست 1= ['سے'، 'ب'، 'ج']
فہرست 2= ['سیب'، 'گیند'، 'کیٹ'، 'گڑیا']
فہرست 3= ['5'، '3']
زپ= زپ(فہرست 1،فہرست 2،فہرست 3)
پرنٹ کریں (فہرست(زپ))

مذکورہ کوڈ کے نمونے کو چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے۔

[('a' ، 'apple'، '5')، ('b'، 'ball'، '3')]

زپ ٹائپ آبجیکٹ سے انفرادی فہرستیں بنانا۔

اگر آپ کے پاس پہلے سے زپ آبجیکٹ ہے تو ، آپ اسے انفرادی فہرستوں کو دوبارہ آباد کرنے کے لئے استعمال کرسکتے ہیں جو پہلے استعمال ہوتی تھیں جب زپ فنکشن ان سے پہلی بار بلایا جاتا تھا۔

فہرست 1= ['سے'، 'ب'، 'ج']
فہرست 2= ['سیب'، 'گیند'، 'کیٹ'، 'گڑیا']
فہرست 3= ['5'، '3']
زپ= زپ(فہرست 1،فہرست 2،فہرست 3)
l1،l2،l3= زپ(*زپ)
پرنٹ کریں (فہرست(l1)، فہرست(l2)، فہرست(l3))

مذکورہ کوڈ کے نمونے کو چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے۔

['a'، 'b'] ['apple'، 'ball'] ['5'، '3']

مندرجہ بالا کوڈ نمونے میں ، زپ آبجیکٹ * آپریٹر کا استعمال کرتے ہوئے ڈیفلیٹ ہو جاتا ہے۔ ڈیفلیٹڈ نتائج کو پھر زپ فنکشن کے لیے ایک اور کال میں کھلایا جاتا ہے جو اصل فہرستیں بناتا ہے۔ نوٹ کریں کہ اگر آپ پہلی بار زپ آبجیکٹ بناتے ہیں تو آپ کو تمام عناصر اصل فہرستوں میں واپس نہیں مل سکتے ہیں۔

زپ کا استعمال جب آپ عناصر کو طویل ترین تغیر پذیر سے رکھنا چاہتے ہیں۔

اوپر کی متعدد مثالوں میں ، آپ نے مشاہدہ کیا ہوگا کہ زپ فنکشن بطور ڈیفالٹ مختصر ترین تکرار کے آخری عنصر پر رک جاتا ہے۔ اگر آپ چاہتے ہیں کہ یہ تکرار جاری رکھے جب تک کہ یہ طویل ترین تکرار کے آخری عنصر تک نہ پہنچ جائے۔

ایسی صورت میں ، آپ کو ازگر کے itertools ماڈیول سے zip_longest () طریقہ استعمال کرنا پڑے گا۔ یہ زپ فنکشن کی طرح کام کرتا ہے ، ایک چھوٹے سے فرق کے ساتھ کہ یہ طویل ترین تکراری قسم کے آخری عنصر پر رک جاتا ہے۔

سے itertools درآمدzip_longest
فہرست 1= ['سے'، 'ب'، 'ج']
فہرست 2= ['سیب'، 'گیند'، 'کیٹ'، 'گڑیا']
فہرست 3= ['5'، '3']
زپ=zip_longest(فہرست 1،فہرست 2،فہرست 3)
پرنٹ کریں (فہرست(زپ))

مذکورہ کوڈ کے نمونے کو چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے۔

[('a'، 'apple'، '5')، ('b'، 'ball'، '3')، ('c'، 'cat'، None)، (None، 'doll'، None) ]

لاپتہ اقدار کو کسی بھی قسم کی اشیاء کے طور پر آباد کیا جاتا ہے۔ آپ zip_longest طریقہ پر اضافی فل ویلیو دلیل دے کر بھرنے کے لیے اپنی قیمت بھی فراہم کر سکتے ہیں۔

سے itertools درآمدzip_longest
فہرست 1= ['سے'، 'ب'، 'ج']
فہرست 2= ['سیب'، 'گیند'، 'کیٹ'، 'گڑیا']
فہرست 3= ['5'، '3']
زپ=zip_longest(فہرست 1،فہرست 2،فہرست 3،بھرنے کی قیمت='my_value')
پرنٹ کریں (فہرست(زپ))

مذکورہ کوڈ کے نمونے کو چلانے کے بعد ، آپ کو درج ذیل آؤٹ پٹ حاصل کرنا چاہیے۔

[('a'، 'apple'، '5')، ('b'، 'ball'، '3')، ('c'، 'cat'، 'my_value')، ('my_value'، 'doll '،' my_value ')]

نتیجہ

زپ فنکشن کو کچھ لوپس اور شرائط کے بیانات کا استعمال کرتے ہوئے نقل کیا جاسکتا ہے۔ تاہم ، یہ کوڈ کو منظم اور صاف رکھنے میں مدد کرتا ہے غیر ضروری فعل اور بار بار بیانات کو ہٹا کر۔