微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使其成为单线?将列表转换为一堆参数

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

我有以下代码

----     92 ParaMETER result  selected observations

        height1     weight1     height2     weight2

i1                            67.445523  163.692389
i2                            68.649190  160.084811
i3                            69.503911  164.720010
i4    59.850261  145.704159
i5    65.341938  155.586984
i6    64.142009  154.335001
i7    67.030368  158.768813
i8                            73.236515  164.704340
i9                            63.279277  149.784500
i10   69.001848  160.063428
i11                           63.930208  152.827710
i12   70.719334  164.885704
i13                           63.614565  150.071072
i14                           70.533320  160.722483
i15   78.417676  172.298652
i16                           67.404942  158.310596
i17   62.504967  150.899428
i18   62.122630  150.024298
i19                           72.999194  166.771223
i20   74.935107  170.820610
i21                           60.372876  149.152520
i22                           76.748649  167.462369
i23                           75.433331  171.773607
i24                           65.717553  160.134888
i25                           67.301426  158.713710

我想使其像这样一线:

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,s)

print(dt)

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

解决方法

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

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

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

,

您在这里确实使用了错误的工具;使用datetime.strptime()代替:

dt = datetime.strptime(ds,"%Y.%m.%d.%H.%M.%S")

,并避免所有拆分和转换为整数的工作。此外,这样可以更好地处理错误的输入,将%Y的{​​{1}}模式接受两位数的年份,但是分割转换方法接受它,但是给您错误的日期(例如strptime()会给您20.10.10.12.30.59而不是引发异常)。

如果必须使用拆分和转换,则可以使用datetime.datetime(20,10,12,30,59)map()应用于每个拆分结果,然后使用int来应用结果整数作为单独的参数:

*

,这也适用于生成器表达式:

dt = datetime(*map(int,ds.split(".")))

演示:

dt = datetime(*(int(s) for s in ds.split(".")))

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?