إعادة تعيين كائن مولد في بايثون: استكشاف البدائل
توفر المولدات طريقة فعالة للتكرار عبر سلسلة من القيم دون إنشاء قائمة في ذاكرة. ومع ذلك، بمجرد أن يحقق المولد جميع قيمه، فإنه يصبح منهكًا ولا يمكن إعادة استخدامه مباشرة. وهذا يثير سؤالاً حول كيفية إعادة تعيين كائن المولد في بايثون.
لسوء الحظ، لا تحتوي المولدات على طريقة إعادة تعيين مضمنة. لإعادة استخدام المولد، لديك عدة خيارات:
الخيار 1 (قم بتشغيل وظيفة المولد مرة أخرى):
y = FunctionWithYield() لx في y: طباعة (خ) ص = دالة مع يلد () لx في y: print(x)
y = FunctionWithYield()
for x in y:
print(x)
y = FunctionWithYield()
for x in y:
print(x)
الخيار 2 (تخزين نتائج المولد في قائمة):y = list(FunctionWithYield()) لx في y: طباعة (خ) # يمكن التكرار مرة أخرى: لx في y: print(x)
y = list(FunctionWithYield())
for x in y:
print(x)
# Can iterate again:
for x in y:
print(x)
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3