python将string型转换成float型

使用python处理数据,从一个文件a.txt中readlines(),a.txt内容如下:
-0.01
-0.01674
-0.1
-0.0043
-0.016
-0.09
-0.011111
然后使用l2=[[float(x[0])]for x in l1]将读取出的string型转换为float型,问题就来了,这样的话总会报错:
ValueError: could not convert string to float: -
readlines()读的不应该是整行吗?只读了“-”是为嘛??!!

这是为嘛啊。。。。求大神知道啊!!!!!在线等。。。。
没有财富值了,好心人友情帮助下吧~~~哭
附上我的代码:
f=open('a.txt')
l1=f.readlines()
l1=[[x.replace('\n','')] for x in l1]
f.close()
l2=[[float(x)]for x in l1]
l2.sort()
f=open('b.txt','w')
f.writelines([str(x) + '\n' for x in l2])
f.close()

第1个回答  推荐于2016-06-29
你好:
你为什么用的是::[float(x[0])]
将它改为:[float(x)]就行了。追问

好像真的是你说的这个问题诶~~~~~我修改了一下代码,把float(x[0])改成了float([x])就OK啦~~~~
顺便请教一下,在我写的基础上怎么改成逆序哦?

追答

逆序:
你是说:从小到大排列是吗:
bb=[]
for i in range(len(l2)-1,-1):
bb.append(l2[i])

本回答被提问者采纳
相似回答