我有一个简单的问题,对不起,如果我在stackoverflow中发布。我是python的新手,我不记得我怎么能在列表压缩中读取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的对象
提前致谢并抱歉这个简单的问题
答案 0 :(得分:6)
你想要一个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], ...]