Как получить набор вершин из набора трехмерных координат - PullRequest
0 голосов
/ 27 апреля 2019

У меня есть список ребер в 3D следующим образом ((x1, y1, z1), (x2, y2, z2)) ..... ((x_k, y_k, z_k), (x_t, y_t, z_t))

Из них мне нужно получить список вершин.

Моя текущая идея: создать начальный набор значений V

Проверить все ребра, проверить координаты 2 точек, если этоне в наборе V, добавьте его в V.

Я чувствую, что это не быстро, когда проверяю одну за другой, есть ли 3D-координаты в наборе или нет.

Мне нужен более чистый и быстрый метод?Любое предложение?

1 Ответ

1 голос
/ 27 апреля 2019

Поскольку все ребра состоят из вершин, вам нужно просто извлечь все вершины и удалить дублированные, например,

>>> x = [((1,2), (1,5)), ((2,3), (4,5)), ((1, 2), (6,7))]
>>> set(sum(x, tuple()))
{(1, 2), (1, 5), (4, 5), (2, 3), (6, 7)}

или

>>> list(set(sum(x, tuple())))
...