组件映射

(类来自 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)[source]

方法

__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

成员文档

clear() None.  Remove all items from D.[source]
get(k[, d]) D[k] if k in D, else d.  d defaults to None.[source]
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。

setdefault(k[, d]) D.get(k,d), also set D[k]=d if k not in D[source]
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