Skip to main content
 首页 » 编程设计

python之如何将列表列表中的所有字符串转换为 float

2025年05月04日41txw1958

我用这段代码打开了一个 excel 文件,创建了 excel 文件每一行的列表:

import csv 
with open("csvfile.csv", "rb") as f: 
    lines = list(csv.reader(f)) 
 
>>> lines 
[['0', '23.345', '-122.456'], ['1', '12.546', '-118.987'] ['2', '67.435', '-104.112']] 

我确实想将 excel 文件每一行的列表保存在一个更大的列表中,但我希望每个元素都是 float 而不是字符串。我必须做出什么改变?

即 [[0, 23.345, -122.456], [1, 12.546, -118.987], [2, 67.435, -104.112]]

请您参考如下方法:

您可以在您的列表列表中使用嵌套的列表理解:

>>> my_list = [['0', '23.345', '-122.456'], ['1', '12.546', '-118.987'], ['2', '67.435', '-104.112']] 
 
>>> [[float(i) for i in sub_list] for sub_list in my_list] 
[[0.0, 23.345, -122.456], [1.0, 12.546, -118.987], [2.0, 67.435, -104.112]]