You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何对列表中类对象的指定属性求和?以Dog类年龄为例

计算类对象列表中指定属性的总和

针对你的场景,完全不用手动累加,Python有非常简便的方法批量计算类对象属性的总和,下面是两种最常用的方案:

方案一:生成器表达式 + sum()函数

这是最直观且高效的写法,直接遍历列表中的每个Dog对象,提取age属性传入sum()求和:

修改后的main.py代码如下:

import dogs as d
dogs = [d.baba, d.jojo]
# 一行代码算出所有狗狗的年龄总和
total_age = sum(dog.age for dog in dogs)
dogs_age_average = round(total_age / len(dogs))

不管列表里有多少个Dog对象,这个写法都会自动遍历所有元素,完全不用手动逐个索引调用。

方案二:map()函数 + sum()函数

如果你习惯函数式编程风格,可以用map()批量提取每个对象的age属性,再传入sum():

import dogs as d
dogs = [d.baba, d.jojo]
total_age = sum(map(lambda dog: dog.age, dogs))
dogs_age_average = round(total_age / len(dogs))

这个方案和第一种效果完全一致,只是写法不同。

内容的提问来源于stack exchange,提问作者Simon Choi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 09:50:51