Python-是否可以创建一个包含集合的列表?

时间:2018-10-10 22:29:55

标签: python list dictionary set

是否可以创建一个包含集合的列表?

此代码未编译(我应该使用集合字典吗?)

v = []

v.append(set(3, 2))

v[2] = set()

v[2].append(3, 1)

我正在尝试使用拟Dijkstra算法进行图遍历。 我试图将邻接列表存储在列表中的集合中。 这是正确的方法还是我应该使用其他数据结构?

我正在尝试将以下C ++转换为Python。 Vector可以使用哪种数据结构?

        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 :(得分:4)

  

set(3,2)

这不是您定义集合的方式。 set构造函数仅接受一个参数。

代替使用:

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

输出:

[{2, 3}]

或者,您可以将任何可迭代的变量传递给set构造函数:

set((3, 2))
set([3, 2])