Skip to main content
 首页 » 编程设计

python之使用列表理解读取文件中的所有行

2025年05月04日19shihaiming

我有一个简单的问题,很抱歉如果我在 stackoverflow 中发帖。我是 python 的新手,我不记得如何读取列表压缩 a x、y、z

我的文件是一个 x,y,z 文件,其中每一行都是一个点:

x1,y1,z1 
x2,y2,z2 
x3,y3,z3 
........ 
 
inFile = "Myfile.las" 
 
with lasfile.File(inFile, None, 'r') as f: 
     # missing part 
     points =[] 

我希望保存一个只有 x 和 y 的对象

提前致谢,抱歉这个简单的问题

请您参考如下方法:

你想要一个 x 和 y 坐标的列表,这很简单:

with lasfile.File(inFile, None, 'r') as f: 
     # missing part 
     points = [line.split(',')[:2] for line in lasfile] 

如果这些坐标是整数,您可以通过快速调用 map() 将它们转换为 python int(来自 str):

points = [map(int, line.split(',')[:2]) for line in lasfile] 

在 python 3 中,map 是一个生成器,最好使用嵌套列表理解:

points = [[int(i) for i in line.split(',')[:2]] for line in lasfile] 

这将产生一个列表列表:

[[x1, y1], [x2, y2], ...]