मेरे पास एक पाइथन जनरेटर है जो उपज के लिए अधिक तत्व प्राप्त करने के लिए स्वयं को कॉल कर सकता है। ऐसा लगता है:पायथन जनरेटर किसी अन्य जेनरेटर कॉल से सबकुछ पैदा करने के लिए
def gen(list):
# ...
if list:
for x in gen(list[1:]):
yield x
मेरा प्रश्न पिछले दो पंक्तियों के बारे में है: क्या यह व्यक्त करने का एक और संक्षिप्त तरीका है? मैं कुछ इस तरह के लिए उम्मीद कर रहा हूँ (समझने यह वैध अजगर के रूप में है नहीं है):
def gen(list):
# ...
if list:
yield each in gen(list[1:])
मुझे यह नहीं मिलता कि यह क्या करना है, मैंने मूल रूप से सोचा था कि यह एक जनरेटर को सूची बदलने का एक बेवकूफ तरीका था लेकिन मुझे गलत था। क्या आप मुझे प्रबुद्ध कर सकते हैं? – Davy8
अगर मैं गलत हूं तो मुझे सही करें, लेकिन वह कोड ऐसा लगता है कि यह हमेशा खाली सूची लौटाएगा। मुझे लगता है कि टिप्पणी में अन्य उपज होना चाहिए? – Dunes
@ ड्यून्स: हाँ, टिप्पणी में अन्य उपज हैं। –