首页 > 解决方案 > Python:合并字符串并转换为浮点数列表

问题描述

我有几个包含数字作为字符串的凌乱列表。一个典型的列表如下所示:

example = ['2', '0', '1', '3', ' ', '=', ' ', '[', '3', '2', '.', '9', '8', ',', ' ', '3', '2', '.', '9', '7', ',', ' ', '3', '2', '.', '5', '9', ']', '\n']

我想将其转换为单个“逗号”分隔的浮点数列表。使用上面的列表示例,理想的清理列表应该是:

cleanedExample = [32.98, 32.97, 32.59]

浮点数的长度不固定,因此有时可能会出现三位小数。

我怎样才能做到这一点?

标签: pythonstringlistlist-comprehension

解决方案


首先,您需要提取括号之间的位,然后将字符串连接在一起,以便您可以用逗号分隔,最后映射float以获取浮点列表。

firstBracketIndex = example.index('[') + 1
secondBracketIndex = example.index(']')
numberStrings = ''.join(example[firstBracketIndex:secondBracketIndex]).split(', ')
numbers = list(map(float, numberStrings))
print(numbers)

在此处查看实际操作 -> https://repl.it/@LukeStorry/63014174


推荐阅读