arrays - using python.itertools to sum slots across multiple lists -
मेरे पास यह है:
[[[1,1,1,0,0 , 0,0], [0,1,2,3,4,5,6], [1,2,3,4,5,6,7], [2,3,4,5,6,7 , 8], [3,4,5,6,7,8,9], [4,5,6,7,8,9,0]], [[2,2,2,0,0,0 , 0], [0,1,2,3,4,5,6], [1,2,3,4,5,6,7], [2,3,4,5,6,7,8 ], [3,4,5,6,7,8,9], [4,5,6,7,8,9,2]], [[3,3,3,0,0,0,0,0 ], [0,1,2,3,4,5,6], [1,2,3,4,5,6,7], [2,3,4,5,6,7,8], [3,4,5,6,7,8,9], [4,5,6,7,8,9,0]] और मैं कोशिश कर रहा हूं इसे प्राप्त करें:
[[[6, 6, 6, 0, 0, 0, 0], [0, 3, 6, 9, 12, 15, 18], [3, 6, 9, 12, 15, 18, 21], [6, 9, 12, 15, 18, 21, 24], [9, 12, 15, 18, 21, 24, 27], [12, 15, 18, 21, 24, 27, 2]]] यह गहरी सूची के अंदर सभी रिश्तेदार पदों का एकमात्र योग है। अभी, मेरे पास 3 नेस्टेड फॉर-लूप्स हैं और मुझे उम्मीद है कि आप में से एक इटेरोलोल विशेषज्ञ मुझे एक तेज़ और दिखा सकते हैं; ऐसा करने के लिए अधिक सुंदर तरीका
आपको इसकी आवश्यकता नहीं है, आप इसे एक सूची की समझ और ज़िप (*) :
& gt; & gt; & gt; Lst = [[[1, 1, 1, 0, 0, 0, 0], [0, 1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6, 7 ], [4, 5, 6, 7, 8, 9, 0] , [1, 2, 3, 4, 5, 6, 7], [2, 2, 2, 0, 0, 0, 0], [0, 1, 2, 3, 4, 5, 6], [2, 3, 4, 5, 6, 7, 8], [3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9, 2]], [ [3, 3, 3, 0, 0, 0, 0], [0, 1, 2, 3, 4, 5, 6], [1, 2, 3, 4, 5, 6, 7], [2 , 3, 4, 5, 6, 7, 8], [3, 4, 5, 6, 7, 8, 9], [4, 5, 6, 7, 8, 9, 0]]] & gt; & gt ; & gt; ([6, 6, 6, 0, 0, 0, 0], [0, 3, 6, 9] में ज़िप के लिए (* x)] में वाई के लिए [[sum (y) 12, 15, 18], [3, 6, 9, 12, 15, 18, 21], [6, 9, 12, 15, 18, 21, 24], [9, 12, 15, 18, 21, 24, 27], [12, 15, 18, 21, 24, 27, 2]] ध्यान दें कि आपकी वर्तमान अपेक्षित आउटपुट एक सूची है जिसमें सूचियों की सूची है, जो है अनावश्यक, इसे सूची की एक सूची में बेहतर रखें।
Comments
Post a Comment