首页 > 解决方案 > 从python中的列表中提取浮点数

问题描述

我想从我的列表 a=[ ] 中获取所有浮点数,并将其添加到一个名为 number=[ ] 的新列表中。有人可以帮我处理这段代码吗?现在它给了我一个空白输出。

a = ['1.2.1','2.1.2', '4', 'invalid']
numbers = []
for item in a:
    if item == float:
        numbers.append(item)
print(numbers)

期望的输出:

numbers = ['1.2.1','2.1.2']

标签: pythonextract

解决方案


您可以使用re.match以下正则表达式模式:

import re
a = ['1.2.1', '2.1.2', '4', 'invalid']
print([s for s in a if re.match(r'\d+(?:\.\d+)+$', s)])

这输出:

['1.2.1', '2.1.2']

推荐阅读