这很难看.什么是Pythonic方式呢?
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])
Run Code Online (Sandbox Code Playgroud)
Eli*_*sky 144
通常,您可以使用func(*tuple)语法.您甚至可以传递元组的一部分,这看起来就像您在这里尝试的那样:
t = (2010, 10, 2, 11, 4, 0, 2, 41, 0)
dt = datetime.datetime(*t[0:7])
Run Code Online (Sandbox Code Playgroud)
这称为解包元组,也可用于其他迭代(如列表).这是另一个例子(来自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]
Run Code Online (Sandbox Code Playgroud)
Cha*_*tie 12
请参阅https://docs.python.org/2/tutorial/controlflow.html#unpacking-argument-lists
dt = datetime.datetime(*t[:7])
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99241 次 |
| 最近记录: |