1

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

我的文件是 ax,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 的对象

在此先感谢,很抱歉这个简单的问题

4

1 回答 1

6

您想要一个 x 和 y 坐标列表,这很容易:

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

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

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], ...]
于 2012-10-09T12:09:57.120 回答