【问题标题】:date time not iterable - error creating a list日期时间不可迭代 - 创建列表时出错
【发布时间】:2018-12-19 08:57:09
【问题描述】:

运行此代码时出现以下错误

import datetime 

today = datetime.datetime.now()
print(today)

lst = []
lst = lst.extend(today)
lst = lst.extend(first_ok)
lst = lst.extend(second_ok) 
lst = lst.extend(all_payments)   

其中first_oksecond_ok 是数值变量

TypeError: 'datetime.datetime' 对象不可迭代

为什么日期时间不可迭代且不能放入列表中?该怎么办?

【问题讨论】:

  • 使用list.appendlist.extend 扩展了整个可迭代对象。更好:lst = [today, first_ok, second_ok, all_payments]
  • 也不需要将 lst 分配回 lst。只是 lst.append() 很好。 lst = lst.append() 会导致后续赋值出错。

标签: python list datetime iterable


【解决方案1】:

当您extend 一个列表时,您正在将一个列表的内容添加到另一个列表中。 datetime 不是列表,因此您不能将 datetime 的内容添加到任何内容中,因为没有内容。

您可能对附加感兴趣:

lst.append(today)

【讨论】:

    【解决方案2】:

    您正在使用扩展,它需要一个可迭代的。 Datetime 不可迭代,但它是一个 datetime 对象。你可以改用append

    【讨论】:

      【解决方案3】:

      尝试使用追加而不是扩展。

      例子:

      import datetime 
      
      today = datetime.datetime.now()
      print(today)
      
      lst = []
      lst.append(today)
      lst.append(first_ok)
      lst.append(second_ok) 
      lst.append(all_payments)   
      

      【讨论】:

        猜你喜欢
        • 2012-04-06
        • 2018-10-22
        • 1970-01-01
        • 2015-10-07
        • 2019-12-29
        • 1970-01-01
        • 2018-09-16
        • 2014-02-24
        • 2020-07-12
        相关资源
        最近更新 更多