2010-04-19 2 views
0

Есть ли резон, почему дата не может быть добавлена ​​в список?Невозможно добавить дату в список!

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

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

Что я делаю неправильно?

UPDATE Сообщение об ошибке: AttributeError: объект '' DECIMAL не имеет атрибута 'добавляемого'

+0

Откуда вы знаете, что не можете добавить его? Может быть, какое-нибудь сообщение об ошибке? –

+1

Вы получаете какую-либо ошибку? что такое 'vbalance'? – SilentGhost

+0

В будущем подумайте над тем, что у вас есть и что вы видите. –

ответ

1
vdats=vdate.split("") 

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

5

Update:

Я бы сказал, что ошибка, которую вы получите довольно Спроецировать 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

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

vbalance += vdats 
Смежные вопросы