背景:
我有一個非常大的3D笛卡爾座標列表,我需要處理這個列表來處理座標的Z座標(即該平面上的所有座標) 。目前,我使用每個Z座標的循環從列表中手動創建組,但如果現在有幾十個可能的Z(以前只處理2-3個平面)座標,則這變得不切實際。我知道如何根據相似的元素對列表進行分組,但是我正在尋找一種方法來自動執行此過程,以獲得n個可能的Z值。
問題:
什麼是自動執行分組列表過程的最有效方法同一個Z座標的元素,然後爲每個平面創建一個唯一列表?最有效的方法來自動化列表條目的分組
代碼段:
我只是用一個簡單的列表理解到組各個平面:
newlist=[x for x in coordinates_xyz if insert_possible_Z in x]
我在尋找它自動進行在每一個Z平面一個新的唯一列表數據集。
數據格式:
((x1,y1,0), (x2, y2, 0), ... (xn, yn, 0), (xn+1,yn+1, 50),(xn+2,yn+2, 50), ... (x2n+1,y2n+1, 100), (x2n+2,y2n+2, 100)...)
等
我想自動獲得所有座標,其中Z = 0,Z = 50,Z = 100等。注意,Z的值(50單位)僅是一個例子,實際數據可以有任何值。
備註:
我的數據是從文件導入的,或者是由列表中的單獨模塊生成的。這是與另一個程序(我沒有寫過)的接口所必需的。
你可以發佈你的當前代碼嗎?座標如何存儲?列出?字典?元組? –
爲了清晰起見添加了一個片段:) – MarkyD43
Z數據是連續的還是離散的?如果它是連續的,你是否需要將數據分隔預定義的範圍? – Swiftfoottim