python - 用 Python 总结以及如何将集合与向量关联起来
问题描述
我有一组节点:
nodes = ["uno","dos","tres","cuatro","cinco","seis"]
及其所有可能对的集合
pairs = [(i,j) for i in nodes for j in nodes if i!=j]
另外,我有这组对的向量
d = [9, 26, 19, 13, 12, 11, 14, 26, 7, 18, 30, 19, 30, 24, 8, 21, 9,
11, 22, 16, 14, 14, 8, 9, 20, 26, 1, 22, 24, 13]
该向量的每个元素都与该组对的每个元素相关联。第一对是 9,第二对是 26,以此类推。
有二进制变量
Z = mdl.binary_var_dict(pairs, name = "Z")
与对的集合相关联
问题是我正在尝试编写表达式
sum((d[p]*Z[p]) for p in pairs)
但我不能这样做,因为向量 d 与这组对没有关联。
我必须怎么写?提前致谢!
解决方案
我不确定是否完全理解您的解释,但似乎您只需要同时迭代向量 d 不是吗?
prod = [d[i]*Z[p]) for i, p in enumerate(pairs)]
sum_ = sum(prod)
推荐阅读
- java - 不使用局部变量时无法推断比较器的类型参数
- matlab - 将jpg文件名添加到列表框中并选择一个观看 - Matlab
- python - conditional vectorized calculation with numpy arrays without using direct masking
- clojure - 在 Spacemacs 中将依赖项添加到 deps.edn
- typescript - 如何让 Typescript 识别使用 Lit-Element 中的“get properties()”方法创建的属性?
- c# - C# MongoDB.Driver 聚合与项目不返回字段 _id
- python - 无法将 numpy 数组转换为张量
- python - 如何在没有循环的情况下在 Python 中有条件地设置 DataFrame 列值
- javascript - 防止按键进入由键盘事件聚焦的元素
- github - Github 服务连接未使用 Azure Devops 更新