从python中的列表中提取浮点数

时间:2019-04-18 04:08:24

标签: python extract

我想从列表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']

1 个答案:

答案 0 :(得分:1)

您可以将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']