我有一组列表,其中包含另一组列表。我只想添加它们,但我不能,因为 python 不允许我。我是 python 编程的新手,虽然它看起来很简单,但这件事让我烦了 2 个小时。这是列表:list = ['60.50', '120', '60', '185', '183.84', '134.50', '369.65', '112.50', '141.54', '141.60', '80', '125', '509.40', '99', '148', '86', '234.40', '135', '81', '97', '395', '193', '185', '261', '72', '157', '138', '90', '101', '72', '125', '116', '106', '118', '123', '128', '107', '81', '204.40', '136', '170.32', '136', '88.50', '114', '76', '125.72']我已经尝试了多种方法,但仍然无法添加这些值。请帮忙
2 回答
当年话下
TA贡献1890条经验 获得超9个赞
从评论中,您似乎想要获取一个十进制数字的字符串列表,并将它们加在一起。
我不会为此使用浮点数,而是使用Decimal. 首先将所有项目转换为小数,然后将它们相加。
(也不要叫它list)
from decimal import Decimal
l = [...]
print(sum(Decimal(i) for i in l))
如果列表有多个维度,您需要先展平列表。我们可以创建一个函数来对通用多维列表中的数字求和。
from decimal import Decimal
def flatten(l):
for i in l:
if isinstance(i, str):
yield Decimal(i)
else:
yield from flatten(i)
l = [[...], ...]
print(sum(flatten(l))
添加回答
举报
0/150
提交
取消