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.4242230677806444]"
但是如何将这个带括号的字符串转换为浮点数组?
解决方案
您可以分两步执行此操作。
string_array = "[0.1, 0.4242230677806444]"
# Step one convert to string array
as_array = string_array.strip('][').split(', ')
# Step two convert string array to float
as_float_array = [float(x) for x in as_array]
或者,您可以使用该库ast
import ast
string_array = "[0.1, 0.4242230677806444]"
as_float_array = ast.literal_eval(string_array)
另见: https ://www.geeksforgeeks.org/python-convert-a-string-representation-of-list-into-list/
推荐阅读
- shell - 使用 shell 脚本从“最后一次配置:2021-11-09 17:58:55 GST(16:39:26 前)由 root”中查找日期
- ios - 如何使用 CMSampleBuffer 创建 AVAudioPCMBuffer?
- firebase - 如何禁用 Firebase 实时数据库
- python - 使用 f.solve 时如何解决“存在不匹配”错误?
- angular - Angular 路由器导航事件,不触发绝对 URL 点击
- sql - 我无法从 influxdb 中删除我的错误测量值,我该怎么办?
- python - 二进制文件未在 python 中以“ab”模式写入数据
- text-alignment - 我应该在引导程序中使用什么来代替“文本对齐”?
- c# - 将 JWT 与单一授权服务器一起使用以获取多种不同的 API (OWIN)
- dart - 调试 DART 输出不打印