我有一个简单的问题,很抱歉如果我在 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], ...]
