无法将日期添加到列表中!

1 投票
3 回答
2764 浏览
提问于 2025-04-15 21:47

有没有什么原因导致日期不能添加到列表里呢?

vdate = str(dates.date)
vdats = vdate.split("")
vdats = vdats[0]
vbalance.append(vdats)

就是没法用?

我哪里做错了呢?

更新一下
错误信息:AttributeError: 'Decimal'对象没有'append'这个属性

3 个回答

1
vdats=vdate.split("")

你不能用一个空的分隔符来进行分割。这会引发一个叫做ValueError的错误。

1

很明显,vbalance 不是一个 list(列表)。往一个 Decimal(小数)里添加东西是没有意义的,所以这个操作是不被支持的。也许你是想把 vdats 加到它里面呢:

vbalance += vdats
5

更新:

我觉得你遇到的错误很明显:vbalance就是不是一个列表。所以你不能往里面添加东西。

你的代码想要实现什么呢?你想达到什么目的?

可能你是想往vbalance添加东西:

vbalance += int(vdats)

或者你需要先创建一个列表:

l = list()
vdate = str(dates.date)
vdats = vdate.split("")
vdats = vdats[0]
l.append(vdats)

又或者你需要在之前的代码中以不同的方式声明vbalance


根据你发的内容,我猜你会遇到一个ValueError错误:

>>> string = "ab cd asd"
>>> print string.split('')

Traceback (most recent call last):
  Line 2, in <module>
    print string.split('')
ValueError: empty separator

假设vdate里有一个有效的字符串,而vbalance是一个列表,如果你只是想根据空格来分割这个字符串,可以使用:

vdats = vdate.split()

否则你需要指定你想用哪个分隔符,但显然,这个字符串不能是空的

文档说明str.split()

撰写回答