Python如何对字符串元素列表的所有元素求和?
字符串列表自调用求和实现
如果你需要让字符串元素的列表支持自调用(即像函数一样调用列表实例来返回元素的数值和),可以通过以下两种方式实现:
方法一:自定义可调用列表子类
通过继承list并重写__call__方法,让列表实例具备调用能力,在方法内部完成字符串转整数并求和的逻辑:
class SumList(list): def __call__(self): # 遍历列表,将每个字符串元素转为整数后求和 return sum(int(item) for item in self) # 创建自定义列表实例 results = SumList(['1','4','73','92']) # 自调用求和 print(results()) # 输出:170
方法二:直接求和(无需自调用)
如果只是需要一次性计算列表元素的和,不需要让列表具备调用能力,直接用生成器表达式配合sum()函数即可:
results = ['1','4','73','92'] total = sum(int(s) for s in results) print(total) # 输出:170
说明
- 自定义子类的方式适合需要反复调用求和、或者希望列表本身自带求和功能的场景,每次调用
results()都会重新计算当前列表元素的和。 - 直接求和的方式更简洁高效,适合只需要一次计算的需求。
内容的提问来源于stack exchange,提问作者hailice
相关产品推荐
相关产品推荐

