我有以下代码:
from django.db.models import Sum, F, FloatField
from data.models import Plant, Recording
for plant in Plant.objects.all():
total_ecof=0
total_ectr=0
for recording in Recording.objects.filter(plant__id=plant.id):
total_ecof = total_ecof + (recording.performance_loss*recording.multiplier*recording.occurrence*plant.no_modules)/(plant.nominal_power*recording.years_of_operation*plant.nominal_power)
total_ectr = total_ectr + ((10 + 15 + 200 + 50)*recording.occurrence+240*50*recording.occurrence*plant.no_modules)/(plant.nominal_power*3)
print(total_ecof)
print(total_ectr)
结果是:
0.00018
10800.049500000001
0.0002666666666666667
16000.073333333334
6.666666666666667e-05
4000.0183333333334
问题是: 我很确定有一行代码也是这样,请告诉我。
答案 0 :(得分:0)
如果定义计算local_ecof(或local_ectr)的<a href="#" id="changeframe">Change</a>
,则可以使用lambda
函数将计算应用于列表的所有元素,然后使用{{1}总而言之。