के साथ समतुल्य नेस्टेड लूप संरचना इसकी बैटरी के माध्यम से पाइथन का सिक्यंतर वाक्यविन्यास पठनीय एक लाइनर में वर्बोज कोड लाइन को व्यक्त करने की अनुमति देता है। निम्न उदाहरणItertools
====================================================|
for a in range(3): |
for b in range(3): |
for c in range(3): |
print (a,b,c), |
- - - - - - - - - - - - - - - - - -|
for e in product(range(3), repeat=3): |
print e, |
====================================================|
for a in range(3): |
for b in range(a , 3): |
for c in range(b , 3): |
print (a,b,c), |
- - - - - - - - - - - - - - - - - -|
for e in combinations_with_replacement(range(3), 3):|
print e, |
====================================================|
for a in range(3): |
for b in range(a + 1, 3): |
for c in range(b + 1, 3): |
print (a,b,c), |
- - - - - - - - - - - - - - - - - -|
for e in combinations(range(3), 3): |
print e, |
====================================================|
for a in range(3): |
for b in range(3): |
for c in range(3): |
if len(set([a,b,c])) == 3: |
print (a,b,c), |
- - - - - - - - - - - - - - - - - -|
for e in permutations(range(3)): |
print e, |
====================================================|
देर के
मैं एक गहरी नेस्ट निर्भर लूप मैं संक्षेप व्यक्त करने के लिए कोशिश कर रहा था के साथ समाप्त हो गया लेकिन
पाश की संरचना के रूप में
for a in A():
for b in B(a):
for c in C(b):
foo(a,b,c)
इस प्रकार होगा विफल रहा है पर विचार करें क्या ऐसी संरचना समकक्ष itertools नोटेशन में व्यक्त की जा सकती है?
बस एक नोट। प्रोलॉग में यह अंतिम लूप इस प्रकार व्यक्त किया जाएगा: 'ए (ए), बी (ए, बी), सी (बी, सी)'। यदि आप लूप के साथ खेलना पसंद करते हैं, तो प्रोलॉग के साथ खेलें। – liori
क्या आप सबसे ऊपर लूप के शरीर में 'ए',' बी' (इंटरमीडिएट वैल्यू) का उपयोग करते हैं? – jfs
@ लिओरी: प्रोलॉग ने हमेशा मुझे लुभाया लेकिन कृत्रिम बुद्धि सीखने के लिए पर्याप्त बुद्धिमान नहीं था – Abhijit