Python生成器增量

时间:2015-05-12 15:04:31

标签: python django generator increment

我有一个循环:

total = 0
for s in sums:
    total += s[0]

其中sums是数据库中的对象列表,由Django检索:

sums = Source_types.objects.values_list('source_sum')

我想将此代码移到单行生成器中。

1 个答案:

答案 0 :(得分:5)

sum() functiongenerator expression

一起使用
total = sum(s[0] for s in sums)

但是,可以使用Django ORM告诉数据库使用aggregation进行求和:

from django.db.models import Sum

total = Source_types.objects.aggregate(Sum('source_sum'))