這很難看。什麼是更加Python的方式來做到這一點?解開元組的Python方法是什麼?
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])
這很難看。什麼是更加Python的方式來做到這一點?解開元組的Python方法是什麼?
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(如列表)太。這裏還有一個例子(從Python tutorial):
>>> 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]
參考https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists
dt = datetime.datetime(*t[:7])
您可能需要在文檔閱讀一下:http://docs.python.org/tutorial/controlflow.html #解包參數列表 – 2010-02-10 16:18:38