2009-01-10 12 views
6

मैं एक सूची कहने के लिए अज्ञात के एक tuple कैसे unpack कर सकता है?पायथन: चर के अज्ञात संख्या को अनपैक करें?

मेरे पास डेटा के कई कॉलम हैं और वे कुछ फ़ंक्शन द्वारा एक टुपल में विभाजित हो जाते हैं। मैं इस tuple को चर के लिए अनपैक करना चाहता हूं लेकिन मुझे नहीं पता कि मेरे पास कितने कॉलम होंगे। क्या मुझे इसकी आवश्यकता के रूप में कई चरों को गतिशील रूप से अनपैक करने का कोई तरीका है?

आपकी मदद के लिए धन्यवाद :)

उत्तर

7

एक सूची टपल अनपैक?

l = list(t) 
+0

लेकिन मुझे उत्सुकता है कि आप इसे क्यों करना चाहते हैं। =) – PEZ

+0

पीईजेड, मैं numpy function 'loadtxt "का उपयोग करके साजिश का एक समूह संभालने के लिए एक स्क्रिप्ट बना रहा हूं। डेटा कॉलम की संख्या केवल रन टाइम पर ही जानी जाती है, इसलिए मैं var names नहीं बना सकता। – Nope

+1

हाँ, लेकिन अगर आपके पास एक टुपल में डेटा है जो आप अक्सर इसके साथ काम कर सकते हैं जैसे कि आप एक सूची के साथ कर सकते हैं। टी [1] आपको "अनपॅक" के बिना एल [1] के समान डेटा देगा। बेशक, अगर आप संशोधित कर रहे हैं "जगह में" डेटा आपको एक सूची की आवश्यकता होगी। – PEZ

3

क्या आपका मतलब है कि आप फ्लाई पर चर बनाना चाहते हैं? यदि आपका प्रोग्राम गतिशील रूप से बनाया गया है, तो उनका प्रोग्राम कैसे संदर्भित करेगा, इसका संदर्भ कैसे देगा?

टुपल्स की सूची सूचियों की तरह है। ऐसा लगता है कि कुछ करने के लिए पूरी तरह से आवश्यक है:

total_columns = len(the_tuple) 

तुम भी एक सूची के लिए एक टपल में बदल सकते हैं, ऐसा करने से जब तक आप परिणामों को संशोधित शुरू करना चाहते करने के लिए कोई लाभ नहीं है, हालांकि। (। Tuples संशोधित नहीं किया जा सकता; सूचियों कर सकते हैं) लेकिन, वैसे भी, किसी सूची में कोई टपल परिवर्तित तुच्छ है:

my_list = list(the_tuple) 

वहाँ (जैसे eval के साथ) मक्खी पर चर बनाने का तरीके हैं, लेकिन फिर, आप कैसे जानेंगे कि उन्हें कैसे संदर्भित किया जाए?

मुझे लगता है कि आपको यह स्पष्ट करना चाहिए कि आप यहां क्या करने की कोशिश कर रहे हैं।

16

आप चरणीय लंबाई को अनपैक करने के लिए तारांकन का उपयोग कर सकते हैं। उदाहरण के लिए:

foo, bar, *other = funct() 

यह bar में दूसरा foo में पहले आइटम रखना चाहिए, है, और सभी other में आराम।

अद्यतन: मैं यह उल्लेख करना भूल गया कि यह केवल पायथन 3.0 संगत है।

संबंधित मुद्दे