Python 字符串格式化

发布于 2024-11-29 10:34:44 字数 282 浏览 0 评论 0原文

我正在通过 python 和 pyobdc 从 Windows 服务器上的 informix 数据库中读取数据。

检索带有小数值的行,我得到这样的结果:

    [(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), ),.....]

去掉 Word 小数是没有问题的,但我不知道如何删除所有大括号和“我不需要这样我就可以计算这个列表的总和。

在 python 中最好的方法是什么?

I am reading from an informix database on windows server via python and pyobdc.

Retrieving a row with decimal values I get something like this:

    [(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), ),.....]

It is no problem to get rid of the Word decimal but I cant figure out how to delete all the braces and " I dont need so that I can calculate the sum of this list.

What is the best way to do it in python?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

痕至 2024-12-06 10:34:44

您可以只计算 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')

You can just calculate sum of Decimal objects, they have __sum__ method.

>>> 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')
拥抱影子 2024-12-06 10:34:44

您的问题不在于您有 Decimal("xyz") ,而是每个值都在一个元组中。因此,您需要从元组中获取值,以便对它们求和。

a = [(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), ),.....]
b = sum(number[0] for number in a)

Your problem isn't that you have the Decimal("xyz") but that each value is in a tuple. So, you need to get the values out of the tuples so you can sum them.

a = [(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), ),.....]
b = sum(number[0] for number in a)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文