python 将列表中的字符串都换成浮点型列表怎么办

['3955.4708118', '3955.46055275', '3955.45353309', '3955.45263926', '3955.45803877', '3955.46775089', '3955.47893787', '3955.49036815', '3955.50163228', '3955.51294379', '3955.52420411', '3955.53389772', '3955.53970343', '3955.53902224', '3955.53211864', '3955.52171062', '3955.51042814', '3955.49898837', '3955.48749068', '3955.47622526', '3955.47055197', '']
怎么将引号去掉?

float()可以进行转换,比如float('1.01')就可以得到浮点数1.01。如果你的这个列表的名称是str_floats,那么[float(f) for f in str_floats]就可以得到一个浮点数列表

图片说明

try...except 也是一个简单的办法。

temp=[]
for i in ['0.123','0.223','','']:
if i == ""
continue
else:
temp.append(float(i))

你可能是因为在最后加了''这个空格,去掉就行

代码

a = ['3955.4708118', '3955.46055275', '3955.45353309', '3955.45263926', '3955.45803877', '3955.46775089', '3955.47893787', '3955.49036815', '3955.50163228', '3955.51294379', '3955.52420411', '3955.53389772', '3955.53970343', '3955.53902224', '3955.53211864', '3955.52171062', '3955.51042814', '3955.49898837', '3955.48749068', '3955.47622526', '3955.47055197']
b = [float(i) for i in a]
print(b)

结果会显示[3955.4708118, 3955.46055275, 3955.45353309, 3955.45263926, 3955.45803877, 3955.46775089, 3955.47893787, 3955.49036815, 3955.50163228, 3955.51294379, 3955.52420411, 3955.53389772, 3955.53970343, 3955.53902224, 3955.53211864, 3955.52171062, 3955.51042814, 3955.49898837, 3955.48749068, 3955.47622526, 3955.47055197]