Python 3.x 从值列表中获取日期的最佳方式是什么

Python 3.x 从值列表中获取日期的最佳方式是什么,python-3.x,datetime,mapping,Python 3.x,Datetime,Mapping,不确定如何进行,但映射以下值并在输出中返回日期的最简单方法是什么 values = [2009, 11, 1, 2, 6, 9, 19, 0] map = ['Year', 'Month', 'Day Of Week', 'Day', 'Hr', 'Min', 'Sec', 'MSec'] output = '2 NOV 2009 06:09:19 UTC' 编辑: 最好输出datetime对象,而不是字符串。很抱歉给你带来了混乱 列表的长度始终为8个值。并始终映射到映射索引顺序。因此,映射和

不确定如何进行,但映射以下值并在输出中返回日期的最简单方法是什么

values = [2009, 11, 1, 2, 6, 9, 19, 0]
map = ['Year', 'Month', 'Day Of Week', 'Day', 'Hr', 'Min', 'Sec', 'MSec']
output = '2 NOV 2009 06:09:19 UTC'
编辑:

最好输出datetime对象,而不是字符串。很抱歉给你带来了混乱
列表的长度始终为8个值。并始终映射到映射索引顺序。因此,映射和值始终为8,映射[0]应为值[0]

只需将值列表中的相应值解压缩到datetime中即可。datetime:

from datetime import datetime, timezone

values = [2009, 11, 1, 2, 6, 9, 19, 0]

dtobj = datetime(*values[:2], *values[3:], tzinfo=timezone.utc)

output = dtobj.strftime('%d %b %Y %H:%M:%S %Z').lstrip('0')
# '2 Nov 2009 06:09:19 UTC'

您希望输出是datetime对象还是字符串类型?还有,你有多少不同的值?让我补充更多的问题:@S4rt-H4K希望它有帮助side注意:不要重新定义内置映射!如果您需要在代码中的其他地方使用map,这会使您难以调试错误。这太棒了。谢谢你。我不完全理解解包过程中发生了什么,但谷歌会帮助我:谢谢你。@MarcoFernandes:很高兴我能帮上忙。基本上,序列前面的*将返回序列的单个成员。你可以想象,例如a,b=*[0,1]将给出a==0;b==1。那叫拆包。自从你提到拆包,我就一直在玩。不确定我是如何从未遇到过这个方法的:@MarcoFernandes:我的评论中的语法实际上是无效的,我希望你注意到^^只是为了举例说明。