【问题标题】:Python, float error: unsupported operand type(s) for +: 'float' and 'list'Python,浮点错误:+ 的不支持的操作数类型:“浮点”和“列表”
【发布时间】:2020-06-17 08:43:28
【问题描述】:

我设置了以下类:

class StatoPatrimoniale(models.Model):
    reference_date=models.DateField()
    cassa=models.DecimalField()

并且我设置了以下功能:

def stato_patrimoniale(request):
    now=datetime.datetime.now()
    last_account_year=float(now.year)-1
    list_diff=[]
    list_diff = float(StatoPatrimoniale.objects.filter(reference_date__year=last_account_year).values_list('cassa')[0][0])

但是python给我以下错误:

 unsupported operand type(s) for +: 'float' and 'list'
 list_diff = float(StatoPatrimoniale.objects.filter(reference_date__year=last_account_year).values_list('cassa')[0][0])

为什么?问题出在哪里?

【问题讨论】:

  • 这可能是错误的,但完全允许,而不是导致此错误的原因
  • 我该如何解决?
  • 完整的堆栈跟踪是什么样的?
  • 在什么意义上?
  • 我想从StatoPatrimoniale类中提取cassa对象的值。它必须是十进制值。

标签: python python-3.x django django-models django-views


【解决方案1】:

我重现了错误:

TypeError: unsupported operand type(s) for +: 'float' and 'list'

但不是上面共享的代码。相反,我说:

list_diff = float() + list_diff

list_diff 是一个列表,而 float() 是浮点数,你不能这样做

替换为

list_diff.append(float())

【讨论】:

    猜你喜欢
    • 2018-10-29
    • 2015-08-04
    • 2017-12-29
    • 2014-05-23
    • 2015-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多