【问题标题】:how to change the date format in every first element of a sublist如何更改子列表的每个第一个元素的日期格式
【发布时间】:2022-11-28 09:19:44
【问题描述】:

我有一个这样的嵌套列表:datelist = [["2019/04/12", 7.0], ["2019/02/09", 7.3], ["2018/08/14", 6.1]] 我需要将日期格式从 yyyy/mm/dd/ 更改为 yyyy.mm.dd,然后按原样返回列表。 所以结果应该是 [["12.04.2019", 7.0], ["09.02.2019", 7.3], ["14.08.2018", 6.1]]。

我是初学者,所以我真的不知道该怎么做。

我尝试了以下内容:

import datetime
datelist = [datetime.datetime.strptime(str(i[0]), "%Y/%m/%d").strftime('%d.%m.%Y') for i in datelist]
print(datelist)

输出是:

['12.04.2019', '09.02.2019', '14.08.2016']

所以数据格式的更改有效,但如何返回具有更正数据格式的原始嵌套列表?

我需要将其实现为一个函数,它将像日期列表这样的列表作为输入。

【问题讨论】:

  • [[datetime.datetime.strptime(date, "%Y/%m/%d").strftime('%d.%m.%Y'), value] for date, value in datelist]
  • 你可以通过循环来做到这一点。使用与上述相同的方法,但在迭代中进行。然后,您可以获得所需格式的原始列表。

标签: python function datetime nested-lists


【解决方案1】:

这很简单:

datelist = [[datetime.datetime.strptime(str(i[0]), "%Y/%m/%d").strftime('%d.%m.%Y'), i[1]] for i in mylist]

当遍历整个列表时,您会得到一个列表,知道列表中元素的位置会有所帮助,因此对第一个元素(日期时间)使用 i[0],对第二个元素(数字)使用 i[1]。

【讨论】:

    【解决方案2】:

    您可以像下面这样更新您的脚本:

    datelist = [[datetime.datetime.strptime(str(i[0]), "%Y/%m/%d").strftime('%d.%m.%Y'), i[1]] for i in datelist]
    

    【讨论】:

      猜你喜欢
      • 2021-09-12
      • 1970-01-01
      • 2021-11-09
      • 2022-11-03
      • 2011-02-17
      • 2012-11-25
      相关资源
      最近更新 更多