Python String Форматирование - PullRequest
       0

Python String Форматирование

1 голос
/ 12 августа 2011

Я читаю из базы данных informix на сервере windows через python и pyobdc.

Получив строку с десятичными значениями, я получаю что-то вроде этого:

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

Нет проблем избавиться от десятичного числа в Word, но я не могу понять, как удалить все фигурные скобки, и «мне не нужно, чтобы я мог вычислить сумму этого списка.

Какой лучший способ сделать это в Python?

Ответы [ 2 ]

3 голосов
/ 12 августа 2011

Вы можете просто вычислить сумму десятичных объектов, у них есть метод __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')
1 голос
/ 12 августа 2011

Ваша проблема не в том, что у вас есть десятичное число ("xyz"), а в том, что каждое значение находится в кортеже. Итак, вам нужно извлечь значения из кортежей, чтобы вы могли их суммировать.

a = [(Decimal("0.99"), ), (Decimal("0.0"), ), (Decimal("113.84"), ),.....]
b = sum(number[0] for number in a)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...