Не могу добавить дату в список! - PullRequest
0 голосов
/ 19 апреля 2010

Есть ли резон, почему дату нельзя добавить в список?

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

просто не сработало?

Что я делаю не так?

UPDATE Сообщение об ошибке: AttributeError: у объекта 'Decimal' нет атрибута 'append'

Ответы [ 3 ]

5 голосов
/ 19 апреля 2010

Обновление:

Я бы сказал, что полученная ошибка довольно очевидна: vbalance - это просто , а не список . Таким образом, вы не можете добавить к нему.

Какова цель вашего кода, чего вы хотите достичь?

Возможно, вы хотите add до 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()

1 голос
/ 19 апреля 2010

Очевидно, vbalance не является list.Присоединение к Decimal не имеет смысла, поэтому операция не поддерживается.Возможно, вы хотели добавить к нему vdats:

vbalance += vdats
1 голос
/ 19 апреля 2010
vdats=vdate.split("")

Нельзя разделить пустым разделителем.Это вызовет исключение ValueError.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...