Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从列表中删除引号和方括号_Python_Python 3.x_List_Loops - Fatal编程技术网

Python 从列表中删除引号和方括号

Python 从列表中删除引号和方括号,python,python-3.x,list,loops,Python,Python 3.x,List,Loops,循环时出现第二个问题。 该列表包含方括号中的字符串: values = [['16.4 '], ['18.06 '], ['16.4 '], ['18.06 ']] values = [16.3, 18.06, 16.4, 18.6] 但结果应如下所示(无方括号,无方括号): 剧本: name = [] values = [] import itertools import re df = open('TESTSOV.csv') for i,line i

循环时出现第二个问题。 该列表包含方括号中的字符串:

values = [['16.4 '], ['18.06 '], ['16.4 '], ['18.06 ']]
values = [16.3, 18.06, 16.4, 18.6]
但结果应如下所示(无方括号,无方括号):

剧本:

name = []
values = []

    import itertools
    import re


    df = open('TESTSOV.csv')
    for i,line in enumerate(itertools.islice(df,10)):
        if "TYPE" in line:
            print('hello')
            name.append(re.findall('NAME= (.*?\s)',line))

        if re.search(r"\bNOMINAL\b",line):
            values.append(re.findall('H= (.*?\s)',line))


    print(name, '\n', values)
.csv文档包含:

<Set Name= Test>
    < TYPE NAME= Hello >
        <NOMINAL A= B= C= D= E= F= G= 1.10 H= 2.20 I= 3.30 J= >
        <2ND_NOMINAL A= B= C= D= E= F= G= 11.00 H= 22.00 I= 33.00 >

    < TYPE NAME= bye >
        <NOMINAL A= B= C= D= E= F= G= 1.10 H= 2.50 I= 3.30 J= >
        <2ND_NOMINAL A= B= C= D= E= F= G= 11.00 H= 22.00 I= 33.00 >


<END>



尝试以下方法:

values = [['16.4 '], ['18.06 '], ['16.4 '], ['18.06 ']]

output = [float(i[0]) for i in values]

print(output)

您之所以获得子列表,是因为您使用的是
re.findall
,而不是使用
re.search
从行中获取单个值

Ex:

for i,line in enumerate(itertools.islice(df,10)):
    if "TYPE" in line:
        print('hello')
        name.append(re.search('NAME= (.*?\s)',line).group(0))

    if re.search(r"\bNOMINAL\b",line):
        values.append(re.search('H= (.*?\s)',line).group(0))
values=[float(v[0])表示值中的v]
这不是“方括号”,而是列表。您将只希望从该列表中获取一项。