Python 使用sum()在项目列表中查找聚合价格
我有一个包含产品的项目列表“display_list”,这些产品中有一个名为“pro price”的字段,它是列表中产品的价格 例如,如果我有一个包含两个苹果和一个香蕉的显示列表,我想计算出这两个苹果和一个香蕉的总价格,我该怎么做呢 我现在已经试过了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
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中使用,您可以发布列表设置的副本吗?删除括号。即使您可以使用pandasdf.groupby(['display_list'])。sum()
如果在Panads中使用,您可以发布列表设置的副本吗