我正在通过python和pyobdc从windows服务器上的informix数据库读取数据。
检索包含十进制值的行,得到的结果如下:
[(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), ),.....]去掉decimal这个词没有问题,但是我不知道如何删除所有的花括号和“我不需要这样我就可以计算这个列表的总和了。”
用python做这件事最好的方法是什么?
发布于 2011-08-12 23:48:48
你可以只计算Decimal对象的和,他们有__sum__方法。
>>> from decimal import Decimal
>>> a = [(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), )]
>>> sum(i[0] for i in a) #Because they're in a tuple
Decimal('114.83')发布于 2011-08-12 23:46:28
您的问题不是有Decimal("xyz"),而是每个值都在一个元组中。因此,您需要从元组中获取值,以便对它们求和。
a = [(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), ),.....]
b = sum(number[0] for number in a)https://stackoverflow.com/questions/7042663
复制相似问题