Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用sum()在项目列表中查找聚合价格_Python_Django - Fatal编程技术网

Python 使用sum()在项目列表中查找聚合价格

Python 使用sum()在项目列表中查找聚合价格,python,django,Python,Django,我有一个包含产品的项目列表“display_list”,这些产品中有一个名为“pro price”的字段,它是列表中产品的价格 例如,如果我有一个包含两个苹果和一个香蕉的显示列表,我想计算出这两个苹果和一个香蕉的总价格,我该怎么做呢 我现在已经试过了 total = sum([(pro.proprice for pro in display_list)]) 但这不起作用,有人能帮忙吗? 提前感谢试试这个: total=sum([pro.proprice for pro in display\u

我有一个包含产品的项目列表“display_list”,这些产品中有一个名为“pro price”的字段,它是列表中产品的价格

例如,如果我有一个包含两个苹果和一个香蕉的显示列表,我想计算出这两个苹果和一个香蕉的总价格,我该怎么做呢

我现在已经试过了

total = sum([(pro.proprice for pro in display_list)])
但这不起作用,有人能帮忙吗? 提前感谢

试试这个:
total=sum([pro.proprice for pro in display\u list])

尝试以下方法:
total=sum([pro.proprice for pro in display_list])

您在列表中用括号括起来,这样您就创建了一个包含一个元素的列表:生成器。不能求一个生成器的和

您可以做两件事:要么将生成器传递给
sum(…)
,要么首先生成一个列表并将其传递给
sum(…)
,这样:

total = sum([pro.proprice for pro in display_list])
或:

也就是说,如果
display\u list
QuerySet
,则可以使用聚合:

# if display_list is a QuerySet
from django.db.models import Sum

total = display_list.aggregate(total=Sum('proprice'))['total']
在列表理解中用括号括起来,结果生成一个包含一个元素的列表:生成器。不能求一个生成器的和

您可以做两件事:要么将生成器传递给
sum(…)
,要么首先生成一个列表并将其传递给
sum(…)
,这样:

total = sum([pro.proprice for pro in display_list])
或:

也就是说,如果
display\u list
QuerySet
,则可以使用聚合:

# if display_list is a QuerySet
from django.db.models import Sum

total = display_list.aggregate(total=Sum('proprice'))['total']

删除括号。即使您可以使用pandas
df.groupby(['display_list'])。sum()
如果在Panads中使用,您可以发布列表设置的副本吗?删除括号。即使您可以使用pandas
df.groupby(['display_list'])。sum()
如果在Panads中使用,您可以发布列表设置的副本吗