Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/300.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 - Fatal编程技术网

Python 从文本文件读取时如何将带括号的字符串转换为浮点

Python 从文本文件读取时如何将带括号的字符串转换为浮点,python,Python,我有一个文本文件,我试图读取和接收带括号的字符串,并将其转换为浮点数组 文本文件的内容如下: [0.1, 0.4242230677806444] 以及我使用以下脚本从文本文件中读取的字符串: testsite_array = [] with open('BestIndividuals_Gen.txt') as my_file: for line in my_file: testsite_array.append(line) 给出一个字符串,如“[0.1,0.4242

我有一个文本文件,我试图读取和接收带括号的字符串,并将其转换为浮点数组

文本文件的内容如下:

[0.1, 0.4242230677806444] 
以及我使用以下脚本从文本文件中读取的字符串:

testsite_array = []
with open('BestIndividuals_Gen.txt') as my_file:
    for line in my_file:
        testsite_array.append(line)

给出一个字符串,如“[0.1,0.4242230677806444]”,但如何将带括号的字符串转换为浮点数组?

您可以通过两个步骤完成此操作

string_数组=“[0.1,0.4242230677806444]”
#第一步转换为字符串数组
as_array=string_array.strip('][').split(','))
#第二步将字符串数组转换为浮点
as_float_array=[as_array中x的float(x)]
或者,您可以使用库
ast

import ast 
string_array = "[0.1, 0.4242230677806444]"
as_float_array  = ast.literal_eval(string_array) 
另见:

它是有效的JSON(!?),因此您可以
JSON.load
It…尝试
ast.literal\u eval()
再看一眼,您就有误导性了。您并没有真正得到列表的字符串表示形式。您有一个实际的列表,可以向其中添加字符串。您可以通过执行
testsite\u array.append(float(line.strip())将它们转换为浮点数
非常有用,谢谢!