"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيف يمكنني الحصول على قائمة من مكرر `map()` في Python 3؟

كيف يمكنني الحصول على قائمة من مكرر `map()` في Python 3؟

تم النشر بتاريخ 2024-12-21
تصفح:987

How Do I Get a List from Python 3's `map()` Iterator?

استرجاع القوائم المعينة في Python 3.x: الخريطة () كمكرر

في Python 3.x، وظيفة الخريطة () تقوم بإرجاع مكرر بدلاً من القائمة. تم تنفيذ هذا التغيير لتحسين كفاءة الذاكرة وتحسين الأداء. ومع ذلك، فإنه يشكل تحديًا إذا كنت بحاجة إلى استرداد القيم المعينة كقائمة لمزيد من المعالجة.

الحل: تحويل المكرر إلى قائمة

لاسترداد القيم المعينة كقائمة، استخدم وظيفة القائمة () لتحويل المكرر الذي تم إرجاعه بواسطة الخريطة ():

mapped_list = list(map(chr, [66, 53, 0, 94]))

سيُرجع هذا الرمز قائمة تحتوي على الأحرف المعينة: ['B', '5', '\x00', '^'].

البديل: استخدام فهم القائمة

الطريقة الأكثر إيجازًا لتحويل القائمة إلى قائمة القيم المعينة هي استخدام القائمة الفهم:

mapped_list = [chr(c) for c in [66, 53, 0, 94]]

ينتج هذا التعبير نفس النتيجة مثل مثال الخريطة () أعلاه.

التكرار عبر كائن الخريطة مباشرة

في بعض السيناريوهات، قد لا تحتاج إلى تحويل كائن الخريطة إلى كائن قائمة. يمكنك التكرار على كائن الخريطة مباشرة باستخدام حلقة for:

for c in map(chr, [65, 66, 67, 68]):
    print(c)

سيقوم هذا الرمز بطباعة الأحرف "ABCD" دون إنشاء قائمة غير ضرورية.

أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3