如何将病情结果放入列表?

时间:2019-07-18 15:43:41

标签: python string list numbers

我想打开一个文件,在=号后获取数字,然后将结果放入列表中。我已完成了第一步,但仍将结果分配到列表中。

我试图创建一个列表并为其分配结果,但是当我打印列表时,它仅显示最后的结果:

import cv2 as cv
import time
import numpy
from math import log
import csv
import re

statList = []

with open("C:\\ProgramData\\OutilTestObjets3D\\MaquetteCB-2019\\DataSet\\DEFAULT\\terrain\\3DObjects\\building\\house01.ive.stat.txt", 'r') as f:
    #
    statList = f.readlines()
    statList = [x.strip() for x in statList]
    for line in statList :
        if (re.search("=" ,str(line))):
            if (re.search('#IND',str(line))):
                print("ERREUR")
            else:
                results = re.findall("=\s*?(\d+\.\d+|\d+)", str(line))
                print ("result="+str(results))
                statList.append(log(float(results[0])))

                floatList = [str(results)]
                print(floatList)

2 个答案:

答案 0 :(得分:0)

这是因为您每次通过循环都会覆盖结果变量。 尝试

    #
results = []
statList = f.readlines()
statList = [x.strip() for x in statList]
for line in statList :
    if (re.search("=" ,str(line))):
        if (re.search('#IND',str(line))):
            print("ERREUR")
        else:
            results.extend(re.findall("=\s*?(\d+\.\d+|\d+)", str(line)))
            print ("result="+str(results))
            statList.append(log(float(results[0])))

            floatList = [str(results)]
            print(floatList)

答案 1 :(得分:0)

程序的问题是定义一个空列表statList,然后将其重新定义为statList = f.readlines()并附加results。因此,更改空列表的名称,然后只要extend是列表对象,就可以使用results。最后,使用内置的map函数将函数应用于列表中的每个项目:

from math import log
import re

final_result = []
with open("file.txt", 'r') as f:
    #
    statList = f.readlines()
    statList = [x.strip() for x in statList]
    for line in statList :
        if (re.search("=" ,str(line))):
            if (re.search('#IND',str(line))):
                print("ERREUR")
            else:
                result = re.findall("=\s*?(\d+\.\d+|\d+)", str(line))
                print("result=" + result[0])
                final_result.extend(result)
                #  final_result.append(result[0])

floats_list = list(map(float, final_result))
logs_list = list(map(log, floats_list))