"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يقوم `zip ([iter (s)]*n)" بتقسيم قائمة بكفاءة إلى أجزاء متساوية في بيثون؟

كيف يقوم `zip ([iter (s)]*n)" بتقسيم قائمة بكفاءة إلى أجزاء متساوية في بيثون؟

نشر في 2025-02-06
تصفح:472

How does `zip([iter(s)]*n)` efficiently split a list into equal chunks in Python? 
في واحدة من tuples. عند استخدامه مع zip syntax (

[iter (s)]

n) ، فإنه يوفر طريقة مريحة لتقسيم قائمة إلى أجزاء متساوية الحجم.

كيف تعمل:

The Expression

[iter (s)]

n يقوم بإنشاء قائمة تحتوي على نسخ من التكرار على القائمة s. تبدأ كل نسخة من التكرار في بداية القائمة. يقوم *args بفك القائمة في وسيطات لـ zip () ، مما يؤدي إلى تمرير المواد المتكررة إلى الدالة. (

[iter (s)]

n) مع رمز مطول: "" "إرجاع قائمة أجزاء من الحجم المتساوي من قائمة." "" القطع = [] لأني في المدى (ن): قطعة = [] ل j في المدى (len (s) // n): chunk.append (التالي (iter (s))) chunks.append (tuple (قطعة)) إرجاع قطع

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

مثال:

، 7،8،9] ن = 3 طباعة (قائمة (zip (*[iter (s)]*n))) # [(1،2،3) ، (4،5،6) ، (7،8،9)] print (verbose_chunk (s ، n)) # [(1،2،3) ، (4،5،6) ، (7،8،9)] ZIP موجز ( [iter (s)]

n) تعبير يوفر بناء جملة أكثر كفاءة لتقسيم قوائم إلى قطع.
            
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3