簡體   English   中英

使用列表理解來讀取文件中的所有行

[英]Reading all lines in a file with list comprehension

我有一個簡單的問題,對不起,如果我在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保存對象

在此先感謝,並為這個簡單的問題感到抱歉

您需要一個x和y坐標列表,這很容易:

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

如果這些坐標是整數,則可以通過快速調用map()將它們轉換為python int(從str轉換map()

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

map 3是生成器的python 3中,最好使用嵌套列表推導:

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

這將產生一個列表列表:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM