Python 在同一行列出整数和浮点数

Python make a list of ints and floats on the same line

我正在构建一个 python 程序,该程序需要在同一行中获取整数值和浮点值并将其存储为变量,并过滤掉长度不超过 6 个字符的所有内容。例如:

'TEST
3E 37 2810
173819 TEST 12.45
173829 TEST 3.74
271838 TEST 3.54
373828 TEST 2.37
2717 TEST 4.31
TEST 2.99'

我希望程序只提取这些值:[173819, 1.45], [173829, 3.74], [271838, 3.54], [373828, 2.37] 并将它们添加到列表中。

我尝试使用此代码获取长度为 5-7 个字符的值,但这并没有获取同一行的浮点值并将它们添加到列表中:

numbers = [int(s) for s in Text.split() if s.isdigit()]
    for i in range(len(numbers)):
                    getvalue = str(numbers[i])
                    length = (len(getvalue))
                    if length == 5:
                        values.append(numbers[i])
                    elif length == 6:
                        values.append(numbers[i])
                    elif length == 7:
                        values.append(numbers[i])
                print(values)

在此先感谢您的帮助。

我会这样做: 给定:

inData = 'TEST \n3E 37 2810\n173819 TEST 12.45\n173829 TEST 3.74\n271838 TEST 3.54\n373828 TEST 2.37\n2717 TEST 4.31\nTEST 2.99'

然后:

inlines = inData.split('\n')
for l in inlines:
    j = l.split(' ')
    if len(j) >= 3 and and len(j[0])>= 6:
        print(f"Integer: {int(j[0])}\tFloat: {float(j[2])}")

产量:

Integer: 173819 Float: 12.45
Integer: 173829 Float: 3.74
Integer: 271838 Float: 3.54
Integer: 373828 Float: 2.37