在python中计算列表中的值

时间:2015-07-30 13:09:50

标签: python django

您好我从外部API电话获取值。我需要将这些值放在一个带有7个索引的数组中,不知道为什么它不起作用。我从Django得到一个很好的错误:

不允许捕获不从BaseException继承的类

我想将每个元素计算为var:

val[0] += 2509
val[1] += 19

我这样设置:

val = [0,0,0,0,0,0,0]

            for item in post_values:
                if item['value']:
                    try:
                        val[i] += item['value']
                    except float:
                        val[i] += 0
                post_value.append(item['value'])
                complete += item['value']
                i += 1

这些是我得到的值:

2509
19
1448
1324
1434
2971
0
15
46
45
9
722
398
218
18
419
344

2 个答案:

答案 0 :(得分:1)

你不能写except float

except语句的try子句旨在捕获异常。这就是你得到这个错误的原因。

如果您想了解变量item['value']不是float的情况,您应该val[i] += float(item['value']),并且在这种情况下捕获的异常是{{1} }:

ValueError

答案 1 :(得分:0)

您正试图下标浮动。不是{'value': some_number}而是1584.5714285714287,而不是字典。

您可以在调用try时修改代码以执行item["value"],这样当1584出现而不是字典时,代码将执行except部分。