نفحص النتيجة وموضع المولد معًا. [1] [2]
الخلاصة السريعة
المثال
import heapq as h events=[] def rows(): for x in [4,9,7]: events.append(x) yield x g=rows() print(h.nlargest(0,g)) print(events) print(next(g,'done'))
لماذا بقي عند البداية؟
المصدر هنا يطلب مكررًا ويبدأ بنطاق عددي فارغ، فيعيد النتيجة قبل استخراج قيمة من مولدنا. طلب 1 في تحكم آخر يقرأ القيم ويعيد [9]. [1] [2]

النطاق
سجلنا يضاف إليه عند التوليد. استدعاء next الأخير يستهلك قيمة عمدًا. قد يؤثر إنشاء مكرر مخصص؛ نفحص مولدنا فقط، دون قياس سرعة. [1] [2]
المراجع
- Python 3.12: nlargest
- CPython 3.12.14: nlargest
- موضوع تك: لغة بايثون — مفردات
- موضوع تك: تطبيقات بايثون — مفردات
أُعدّ هذا المقال بمساعدة الذكاء الاصطناعي، وخضع لمراجعة ذاتية بالأداة نفسها. لا يُنسب إلى مراجع بشري أو خبير مستقل. منهجية المحتوى.
