2013-10-02 88 views
0

我是python的新手,因此任何幫助都將不勝感激。將字符串列表轉換爲xyz cooridnates列表python

我有一個.dat文件是按以下格式:

J 
    366 -1722 583 
    366 356 1783 
    866 789 1033 
    866 -1289 -167 
    366 -1722 583 
J 
    -500 -1472 150 
    0 -1039 -600 
    0 1039 600 
    -500 606 1350 
    -500 -1472 150 

的數字是XYZ座標和J表示跳轉位;每當J發生時,我都需要提起鉛筆並轉到下一個點繼續繪製。

我想將這個文件讀取到一個python文件中,並將值存儲在一個列表中作爲xyz座標,這樣我就可以使用pygame從它們中繪製直線。

到目前爲止,我可以使用此代碼

file = open('filename.dat', 'r') 
vlist = file.readlines() 
file.close() 
+1

'file'是保留字文件讀入到一個列表。你也需要調用'close',(即'close()' –

+0

謝謝我只是使用file.dat作爲文件名的一個例子。並忘記添加() – user2840327

+0

我不認爲它實際上保留了...它只是一個內建的陰影...當你閱讀關閉不會讓你很多... –

回答

1
points= [list(map(int,v.split())) if v.strip().lower() != "j" else "JUMP" for v in vlist] 
+0

感謝您的幫助,但現在如果我打印出列表中的內容,J會變成跳躍,我希望所有的xyz點現在都是<地圖對象在0x0000000002D67438>的一個變體。並且據我所知,我不能使用它來繪製 – user2840327

+0

編輯...我認爲你使用的是python 2,其中map返回一個列表 –

+0

好的謝謝澄清這個作品! – user2840327