python - una - ¿Cuál es la forma pitónica de desempaquetar tuplas?
qué son las tuplas en python (2)
Esto es feo ¿Cuál es una forma más pitonica de hacerlo?
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])
Consulte https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists
dt = datetime.datetime(*t[:7])
En general, puede usar la sintaxis func(*tuple)
. Incluso puedes pasar una parte de la tupla, que parece ser lo que estás tratando de hacer aquí:
t = (2010, 10, 2, 11, 4, 0, 2, 41, 0)
dt = datetime.datetime(*t[0:7])
Esto se denomina desempaquetar una tupla y también se puede usar para otros iterables (como listas). Aquí hay otro ejemplo (del tutorial de Python ):
>>> 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]