python - Python - 是否可以在其中创建包含集合的列表?
问题描述
是否可以在其中创建包含集合的列表?
此代码未编译(我应该改用集合字典吗?)
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;
解决方案
设置(3, 2)
这不是你定义集合的方式。set 构造函数只接受一个参数。
而是使用:
v = []
v.append({3, 2})
print(v)
输出:
[{2, 3}]
作为替代方案,您可以将任何可迭代对象传递给 set 构造函数:
set((3, 2))
set([3, 2])
推荐阅读
- sqlite - 在 Powershell 中使用 SQLite 提取日期在两天之间的数据
- python-2.7 - 从云功能触发数据流管道时,无法从主类执行超过 1 个功能
- r - 多次使用 %in% 的正确方法
- java - IntelliJ 在 Docker 中调试 Java 应用程序
- android - Android通过bottomsheet交互显示MainActivity
- docker-compose - 将变量从 jenkinsfile 传递给 docker-compose 作为环境变量
- json - 如何使用 Django-Restframework 序列化包含列表的字典?
- kubernetes - Helm del --purge 后 Helm 没有删除 pod
- javascript - 如何从 Firebase 存储中删除 Vue.js 组件图像?
- node.js - 在进程退出之前无法访问在节点进程中启动的容器