我的代码产生这个结果
[['1.2', ' 4.3', ' 7', '0'], ['3', ' 5', ' 8.2', '9'], ['4', ' 3', ' 8', '5.6'], ['8', ' 4', ' 3', '7.4']]
但我想删除“”
def main():
my_list = [line.strip().split(',') for line in open("Alpha.txt")]
print(my_list)
main()
我尝试将列表转换为 float ,但它不断返回错误。我需要一种方法将此格式的当前列表转换为 float 。
[float(i) for i in lst]
这对我不起作用,因为尝试使用 float(my_list) 时似乎会出错
最佳答案
您需要 [[float(i) for i in j] for j in lst]
而不是 [float(i) for i in j]
,该列表是嵌套的 - 您有一个 float 列表的列表,而不仅仅是代码工作所需的 float 列表。另外,最好用 with 打开文件。语句,并且您可能需要使用 try
... except
... 来捕获异常,以防文件中的某些数字无法转换为 float - 例如。如果一行是 1, 2, 34, 56,这将使您的程序在此时崩溃,7, 8, 9
。
关于python - 将字符串列表从数据文件转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19546061/