मैं ऐसा करके tuples मैं बनाने के खोल के लिए निम्न चाहते तो वह परिणाम सिर्फ एक सरल सूची है। मैं वांछित परिणाम 2-3 लाइनों में प्राप्त कर सकता हूं लेकिन निश्चित रूप से एक oneliner list.comp है? मैं सक्षम होना चाहिएअजगर सूची समझ, खोल और कई आपरेशनों
y = [(i, sqrt(i), i**3, some_operation_on_i, f(i), g(i)) for i in x]
उदाहरण के लिए:
x = range(10)
y = [(i,j**2) for i,j in zip(x,x)]
>>>y
[(0, 0), (1, 1), (2, 4), (3, 9), (4, 16), (5, 25), (6, 36), (7, 49), (8, 64), (9
, 81)]
>>>
मैं क्या चाहता हूँ result = [0,0,1,1,2,4,3,9.....]
कर
y = len(x)*[0]
y[::2] = x
y[1::2] = [i**2 for i in x]
देता है कि मैं क्या चाहते हैं, लेकिन क्या हुआ अगर मैं और अधिक सामान्य स्थिति की जरूरत है परिणाम की तरह एक सीधी सूची प्राप्त करने के लिए जहां मैंने केवल एक ऑपरेशन (वर्ग) निर्दिष्ट किया है, लेकिन प्रत्येक का पालन करने के लिए अब प्रत्येक के बाद संचालन की मनमानी संख्या के साथ।
नेस्ट भूल गए सूची पूरी तरह से comps, धन्यवाद। इसे स्वीकार करना क्योंकि यह तेज़ तरीका है और यह list.comp में करता है। मैं मानता हूं कि यह अजीब है, लेकिन मुझे लगता है कि मुझे प्रति 4-5 से अधिक संचालन की आवश्यकता नहीं होगी। – arynaq