यह बदसूरत है। ऐसा करने के लिए एक और पाइथोनिक तरीका क्या है?tuples unpack करने के लिए पाइथोनिक तरीका क्या है?
import datetime
t= (2010, 10, 2, 11, 4, 0, 2, 41, 0)
dt = datetime.datetime(t[0], t[1], t[2], t[3], t[4], t[5], t[6])
यह बदसूरत है। ऐसा करने के लिए एक और पाइथोनिक तरीका क्या है?tuples unpack करने के लिए पाइथोनिक तरीका क्या है?
import datetime
t= (2010, 10, 2, 11, 4, 0, 2, 41, 0)
dt = datetime.datetime(t[0], t[1], t[2], t[3], t[4], t[5], t[6])
आमतौर पर, आप func(*tuple)
सिंटैक्स का उपयोग कर सकते हैं। तुम भी टपल का एक हिस्सा है, जो आपको यहाँ करने के लिए कोशिश कर रहे हैं क्या की तरह लगता है पारित कर सकते हैं:
t = (2010, 10, 2, 11, 4, 0, 2, 41, 0)
dt = datetime.datetime(*t[0:7])
यह खोल एक टपल कहा जाता है, और (जैसे कि सूची के रूप में) अन्य iterables के लिए इस्तेमाल किया जा सकता भी।
>>> range(3, 6) # normal call with separate arguments
[3, 4, 5]
>>> args = [3, 6]
>>> range(*args) # call with arguments unpacked from a list
[3, 4, 5]
यह मनमाने ढंग से पुनरावृत्तियों के लिए काम करता है। –
मैं यह जोड़ना चाहता हूं कि यह वाक्यविन्यास पाइथन 3.5 में कहीं भी (फ़ंक्शन कॉल में नहीं) काम करता है, इसलिए उदाहरण के लिए 'x, y, z = * (1, 2, 3)' जैसे विवरण बिना त्रुटि के काम करेंगे (जैसा कि यह बहुत समय पहले होना चाहिए था) – Nearoo
क्या यह अन्य सूची वस्तुओं के बीच ऐसा करने का एक तरीका है? जैसे 'my_tuple = ("बी", "सी"); "% s% s% s"% ("ए", * my_tuple) '? – Dannid
देखें https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists
dt = datetime.datetime(*t[:7])
आप डॉक्स में इसके बारे में पढ़ सकते हैं: यहाँ एक और उदाहरण (Python tutorial से) है http://docs.python.org/tutorial/controlflow.html # अनपॅकिंग-तर्क-सूचियां –