Python - Можно ли создать список, содержащий наборы внутри него? - PullRequest
0 голосов
/ 11 октября 2018

Можно ли создать список, содержащий наборы внутри него?

Этот код не компилируется (я должен вместо этого использовать словарь наборов?)

v = []

v.append(set(3, 2))

v[2] = set()

v[2].append(3, 1)

Я пытаюсьсделать обход графа, используя алгоритм квази Дейкстры.Я пытаюсь сохранить список смежности в наборах в списке.Это правильный подход или я должен использовать другую структуру данных?

Я пытаюсь преобразовать следующий C ++ в Python.какую структуру данных я могу использовать для вектора?

        long long leastTimeToInterview (int n, int k, int m)
    {
       vector<set<pair<int, int>>> v (n + 1); // first = time, second = stop #

       while (m--) {
          int i, j, t; cin >> i >> j >> t;
          v[i].insert ({ t, j });
          v[j].insert ({ t, i });
       }

       set<pair<int, int>> s ({ { 0,1 } });
       unordered_set<int> done;

1 Ответ

0 голосов
/ 11 октября 2018

set (3, 2)

Это не то, как вы определяете набор.Конструктор множества принимает только один аргумент.

Вместо этого используйте:

v = []
v.append({3, 2})
print(v)

Вывод:

[{2, 3}]

В качестве альтернативы вы можете передать любую итерацию в конструктор множества:

set((3, 2))
set([3, 2])
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...