如何在 python 中的对象列表中对元素进行 SUM



我正在尝试对对象列表的特定属性求和(加上其他数学运算(,但我不知道该怎么做。

我正在尝试做的一个例子是:

my_list = [
{
'brand': 'Totoya',
'quantity': 10
},
{
'brand': 'Honda',
'quantity': 20
},
{
'brand': 'Hyundai',
'quantity': 30
}
]

我想对所有"数量"求和。没有循环可能吗? 使用集合?计数器?

Output = 60

作为输入是:

my_list = [
{
'brand': 'Totoya',
'quantity': 10
},
{
'brand': 'Honda',
'quantity': 20
},
{
'brand': 'Hyundai',
'quantity': 30
}
]

您可以按如下方式循环它:

counter = 0
for i in my_list:
counter += i['quantity']
print(counter)

或在单行中:

print(sum(i['quantity'] for i in my_list))

Python 包含很好的函数式编程函数。

my_list = ...
# Select the quantities from my_list
quantities = map(lambda x: x['quantity'], my_list) 
# Computes the sum of quantities
total = sum(quantities)

另一种替代方法

from operator import itemgetter
getter = itemgetter('quantity')
sum(map(getter, my_list))

最新更新