仅基于(n-1)个维度过滤唯一的n维坐标

时间:2019-01-31 05:26:48

标签: python-3.x cartesian-coordinates unique-values

我有一个(x,y,z)点的列表,表示许多点的笛卡尔坐标。我需要选择仅(x,y)点不同的(x,y,z)点。

我提出了以下代码,它们基于唯一(x,y,z)或仅唯一(x,y)选择(x,y,z)。

def unique_points(x,y,z, xy_only = False):
    a,b,c = [],[],[]

    if xy_only is False:
       for i,j,k in set(zip(x,y,z)):
          a.append(i)
          b.append(j)
          c.append(k)
        return a,b,c

    elif xy_only is True:

       # storing unique points as keys
       points = dict()
       for i,j,k in zip(x,y,z):
          points[(i,j)] = (i,j,k)

       for i,j,k in points.values():
           a.append(i)
           b.append(j)
           c.append(k)
       return a,b,c

我想知道是否有任何内置方法来实现结果。可以进一步减少此代码吗?

还有,有什么通用的方法可以基于唯一的(n-1)维点过滤n维点?

0 个答案:

没有答案