首页 > 解决方案 > 如何使其成为单线?将列表转换为一堆参数

问题描述

我有以下代码:

from datetime import datetime 

ds = "2020.10.10.12.30.59"

y, M, d, h, m, s = [int(x) for x in ds.split('.')]
dt = datetime(y, M, d, h, m, s)

print(dt)

我想把它做成这样的单线:

dt = datetime([int(x) for x in ds.split('.')])

当然这是行不通的。但它可以以某种方式完成吗?

标签: pythonlistparameterspackingargument-unpacking

解决方案


从那时起,您只需要使用unpacking进行传播:

dt = datetime(*[int(x) for x in ds.split('.')])

注意*. 这会将数据“传播”到每个参数中。


推荐阅读