在Python中将数组的某些元素更改为浮点数

时间:2020-04-20 19:18:29

标签: python arrays

我当前在程序中有一个数组,并且数组中的每个条目的结构如下:

{'ts': '0', 'ph': '308.8', 'am': '-40.408'}

我想将当前存储为字符串的数字更改为浮点数,但是我不知道该怎么做。

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:2)

您正在寻找一个简单的dict理解力

d= {'ts': '0', 'ph': '308.8', 'am': '-40.408'}
{k:float(v) for k,v in d.items()}

答案 1 :(得分:2)

要就地更改值,可以在列表中的元素上循环,然后在字典中的每个键上进行更改:

l = [
    {'ts': '0', 'ph': '308.8', 'am': '-40.408'},
    {'ts': '10', 'ph': '100.8', 'am': '-2.0'}
]

for d in l:
    for k in d:
        d[k] = float(d[k])

列表l将为:

[{'ts': 0.0, 'ph': 308.8, 'am': -40.408},
 {'ts': 10.0, 'ph': 100.8, 'am': -2.0}]

这假设您要更改每个值