将列表的某些值转换为float

时间:2017-12-30 17:14:14

标签: python list type-conversion

我遇到了问题,列表中的值是真实的,我必须将它们转换为浮点数。

该清单如下:

[{ 'O' : 15.2565, 'H' : 16, 'L' : 14, 'C' : 14.56, 'T' : '2017-12-30T13:30:00'},
{ 'O' : 14.56, 'H' : 17, 'L' : 13, 'C' : 16.654 'T' : '2017-12-30T13:35:00'},
etc]

'O'等的值是真实的并且需要转换,我将如何在Python中这样做

float(x) for x in data

对我不起作用。

1 个答案:

答案 0 :(得分:0)

您有一个float个对象的列表,其值(至少其中一些)可以转换为for dct in data: for k in dct: try: dct[k] = float(dct[k]) except (ValueError, TypeError): pass 。一种天真的方法是:

dicts

如果您事先知道哪些键映射到可浮动值,您可以使用理解来保存一些行的可疑好处。请注意,这是一个嵌套的理解,因为list需要重建以及它们周围的data = [ {k: float(v) if k in ('O', 'H', 'L', 'C') else v for k, v in dct.items()} for dct in data ]

ControlGetText, qtp1, TDBEditArpa16, Alteração de Produtos, Informações de Custo
StringTrimRight, qtp1, qtp1, 4
qtp1 := (qtp1 + 2)

msgbox %qtp1%