Skip to main content
 首页 » 编程设计

python之列出 X 和 Y 坐标

2025年05月04日17pengyingh

我有以下列表:

Filedata: 
[1, 0, 0, 0] 
[2, 0, 0, 100] 
[3, 0, 0, 200] 
[4, 100, 0, 0] 
[5, 100, 0, 100] 
[6, 100, 0, 200] 
... 

其中第一列是 ID,第二列是 X 坐标,第三列是 Y 坐标,第四列是 Z 坐标。

我想在原始列表中制作两个不同 X 和 Y 坐标的列表:

X: 
[0, 100, ...] 
Y: 
[0, 100, ...] 

为此,我想到了一个代码,但在这个过程中,我意识到必须有一个更简单的原因来执行此操作而不是执行多个 for 和 if 循环。有什么想法吗?

请您参考如下方法:

IDs,Xs,Ys,Zs = zip(*filedata) 
positions = zip(Xs,Ys,Zs) # list of tuples of (x,y,z)  
 
unique_Xs = [] 
[unique_Xs.append(val) for val in Xs if val not in unique_Xs] 
 
unique_Ys = [] 
[unique_Ys.append(val) for val in Ys if val not in unique_Ys] 

我认为可行,假设 filedata 是一个二维列表,尽管 filedata 不是一个很好的变量名......

我添加了一种方法来在每个列表中获得独特的点数......但不完全确定这就是你想要的