python - 如何对存储为字符串的数字列表求和

标签 python

有一个存储为字符串的数字列表,我如何找到它们的总和?

这就是我现在正在尝试的:

numbers = ['1', '3', '7']
result = sum(int(numbers))

但这给了我一个错误:

Traceback (most recent call last):
  File "main.py", line 2, in <module>
    result = sum(int(numbers))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'list'

我知道我不能强制列表为数字,但我想不出解决办法。

最佳答案

int(numbers) 试图将列表转换为整数,这显然行不通。如果您以某种方式能够将列表转换为整数,sum(int(numbers)) 将尝试获取该整数的总和,这也没有意义;您对一组数字求和,而不是单个数字。

相反,使用函数 map :

result = sum(map(int, numbers))

这将获取列表中的每个项目,将其转换为整数并对结果求和。

关于python - 如何对存储为字符串的数字列表求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30744195/

相关文章:

python - 具有 3d 输入的 Pytorch 交叉熵损失

python - Google App Engine 和 win32 DDE

javascript - 有没有一种方法可以在不使用 selenium 或浏览器客户端的情况下从在线应用程序提交表单?

python - 语音识别错误 Python

python - 在远程服务器上使用 ein (emacs ipython notebook)

Python:嵌套循环而不是创建多个输入和输出

python - 如何对 mongodb 进行不区分大小写的正则表达式搜索?

python - 获取标签之间的文本 BeautifulSoup4

python - 同义词分析器无法在带有 python 的 Elasticsearch 中工作

python - 按 drf 中的价格总和排序查询集