组件映射
(类来自 pyomo.common.collections.component_map)
- class pyomo.common.collections.component_map.ComponentMap(*args, **kwds)[source]
基础类:
Mixin,MutableMapping这个类是用于替代字典的,它允许使用Pyomo建模组件作为条目键。底层映射基于对象的Python id(),这解决了对NumericValue子类进行哈希的问题。这个类旨在创建从Pyomo组件到值的映射。应避免使用非Pyomo组件作为条目键。
只要对象在容器中有相应的条目,就会保留对它的引用,因此无需担心id()冲突。
我们还重写了__setstate__,以便在深拷贝或pickle之后,我们可以根据可能更新的对象ID重建容器。
* 除非与它包含映射条目的组件(例如,作为块的一部分)一起进行,否则不应对此类的实例进行深拷贝/序列化。 *
方法
__init__(*args, **kwds)clear()get(k[,d])items()keys()pop(k[,d])如果未找到键,则返回给定的d,否则会引发KeyError。
popitem()作为一个2元组;但如果D为空,则引发KeyError。
setdefault(k[,d])update([E, ]**F)如果E存在并且具有.keys()方法,则执行: for k in E: D[k] = E[k] 如果E存在但缺少.keys()方法,则执行: for (k, v) in E: D[k] = v 无论哪种情况,接下来都会执行: for k, v in F.items(): D[k] = v
values()属性
hasher成员文档
- items() a set-like object providing a view on D's items
- keys() a set-like object providing a view on D's keys
- pop(k[, d]) v, remove specified key and return the corresponding value.
如果未找到键,则返回给定的d,否则会引发KeyError。
- popitem() (k, v), remove and return some (key, value) pair
作为一个2元组;但如果D为空,则引发KeyError。
- update([E, ]**F) None. Update D from mapping/iterable E and F.[source]
如果 E 存在并且有 .keys() 方法,则执行: for k in E: D[k] = E[k] 如果 E 存在但没有 .keys() 方法,则执行: for (k, v) in E: D[k] = v 无论哪种情况,接下来都会执行: for k, v in F.items(): D[k] = v
- values() an object providing a view on D's values