在python中剥离用于提取特定值的列表项

2024-06-28 20:04:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个列表,它是python脚本的输出,格式如下:

[' (* 100.856 UnitA', ') [ 98.0%]',
 ' (* 100.598 UnitB', ') [ 98.0%]', 
 ' (*  98.193 UnitC', ') [ 25.6%]']

现在,我有兴趣将每个列表项中的浮点值放到一个新列表中,以便在python脚本中进行进一步处理。有没有一种方法(可能是内置的python函数)可以将浮点内容单独剥离到一个新列表中?在上面的例子中,我想要的输出是:

[100.856,98.0,100.598,98.0,98.193,25.6]

如果不是一个内置函数,还有其他替代方法可以实现吗?你知道吗


Tags: 方法函数脚本内容列表格式内置例子
1条回答
网友
1楼 · 发布于 2024-06-28 20:04:44

使用来自here的正则表达式模式将提取浮点值并根据需要转换为浮点值:

In [153]:
l=[' (* 100.856 UnitA', ') [ 98.0%]',
 ' (* 100.598 UnitB', ') [ 98.0%]', 
 ' (*  98.193 UnitC', ') [ 25.6%]']
import re
[float(re.findall(r'(-?\d+\.\d+)',x)[0]) for x in l]

Out[153]:
[100.856, 98.0, 100.598, 98.0, 98.193, 25.6]

所以这里的棘手之处在于,您需要搜索数字\d,但也需要搜索小数点和尾随数字

相关问题 更多 >