ما هي وظيفة Zip و UnZip في Python؟



ستزودك هذه المقالة بمعرفة مفصلة وشاملة عن وظيفة Zip في Python ، وكيفية استخدامها وكيفية فك الضغط أيضًا.

هل تساءلت يومًا كيف يمكننا أن نأخذ عنصرًا واحدًا من قائمتين مختلفتين ونجعلهما زوجًا ونضعهما في قائمة جديدة؟ حسنًا ، هذا المفهوم بعيدًا عن كونه مثيرًا للاهتمام مفيد جدًا في العديد من مجالات التخصص. دعنا نتعرف على وظيفة zip في Python بالترتيب التالي:

وظيفة Zip في Python

وظيفة Zip في Python





وظيفة zip () هي وظيفة مضمنة وتأخذ أي عدد من العناصر التكرارية وتعيد قائمة من المجموعات. يتم إنشاء العنصر ith من المجموعة باستخدام العنصر ith من كل عنصر من العناصر التكرارية.

list_A = [1، 2، 3، 4] listB = ['a'، 'b'، 'c'، 'd'] zl = zip (listA، listB) print zl

انتاج:



[(1، 'a')، (2، 'b')، (3، 'c')، (4، 'd')]

Zip في Python 3

في Python 3 ، عندما ننفذ الكود أعلاه ، لن نحصل على نفس النتيجة. بدلاً من ذلك ، سنحصل على:



ec2 إنشاء مثيل من لقطة

حاول!

هذا لأن أساليب zip تُرجع كائنًا مضغوطًا بدلاً من قائمة. هذا الكائن المضغوط هو مكرر. بمعنى آخر ، تقوم بإرجاع كائن مكرر واحد ، له قيم معينة من جميع الحاويات. لذلك من أجل الحصول على القيم ، نقوم إما بتحويل zl (من الكود أعلاه) إلى قائمة أو تعيين أو أي شيء.

listA = [1، 2، 3، 4] listB = ['a'، 'b'، 'c'، 'd'] zl = zip (listA، listB) zl = list (zl) print (zl)

انتاج:

[(1، 'a')، (2، 'b')، (3، 'c')، (4، 'd')]

فك الضغط في بايثون

يعني فك الضغط إعادة القيم المضغوطة إلى الذات الفردية كما كانت. يتم ذلك بمساعدة عامل التشغيل '*'. الآن ، إذا أردنا وضع القيم القديمة في listA و listB من zip list zl ، فعلينا فك ضغط zl.

listA = [1، 2، 3، 4] listB = ['a'، 'b'، 'c'، 'd'] #zip listA و listB وضعها في قائمة واحدة zl zl = zip (listA، listB) zl = list (zl) print (zl) #unzip zl وإعادة القيم إلى listA و listB listA ، listB = zip (* zl) print (listA) print (listB)

انتاج:

[(1، 'a')، (2، 'b')، (3، 'c')، (4، 'd')]
(1 ، 2 ، 3 ، 4)
('ا ب ت ث')

لفهم الاختلاف بوضوح ، نأخذ متغيرين جديدين ونضع البيانات غير المضغوطة فيهما.

كيفية مسح شار في جافا
listA = [1، 2، 3، 4] listB = ['a'، 'b'، 'c'، 'd'] zl = zip (listA، listB) zl = list (zl) print (zl) listC، listD = zip (* zl) print (listC) print (listD) print (listA) print (listB)

انتاج:

[(1، 'a')، (2، 'b')، (3، 'c')، (4، 'd')]
(1 ، 2 ، 3 ، 4 ، 5)
('أ' ، 'ب' ، 'ج' ، 'د' ، 'هـ')
[1 ، 2 ، 3 ، 4 ، 5]
['أ' ، 'ب' ، 'ج' ، 'د' ، 'ه']

كما ترى ، فإن listA و listB عبارة عن قوائم ويتم عرض listC و listD على شكل مجموعات تظهر كإخراج. هذا هو الاختلاف الوحيد الطفيف.

بهذا ، نصل إلى نهاية مقالة Zip Function في Python. أتمنى أن تكون قد تعلمت المفاهيم جيدًا ومن ثم جربها لتكون أكثر دقة.

لديك سؤال لنا؟ يرجى ذكرها في قسم التعليقات في مدونة 'Zip Function in Python' وسنعاود الاتصال بك في أقرب وقت ممكن.

للحصول على معرفة متعمقة ببايثون مع تطبيقاتها المختلفة ، يمكنك ذلك من خلال تدريبنا المباشر عبر الإنترنت مع دعم على مدار الساعة طوال أيام الأسبوع وإمكانية الوصول مدى الحياة.