class documentation

一个类似于字典的类,可用于为名称(例如,顶点名称)分配唯一ID。

用法:

>>> gen = UniqueIdGenerator()
>>> gen["A"]
0
>>> gen["B"]
1
>>> gen["C"]
2
>>> gen["A"]      # Retrieving already existing ID
0
>>> gen.add("D")  # Synonym of gen["D"]
3
>>> len(gen)      # Number of already used IDs
4
>>> "C" in gen
True
>>> "E" in gen
False
方法 __contains__ 检查item是否已经有ID。
方法 __getitem__ 检索与item对应的ID。如果这是我们第一次为item请求ID,则为其生成一个新的ID。
方法 __init__ 创建一个新的唯一ID生成器。id_generator 指定我们如何为尚未有ID的元素分配新ID。如果它是 None,元素将被分配从0开始的整数标识符。...
方法 __len__ 返回项目的数量。
方法 __setitem__ 覆盖item的ID。
方法 reverse_dict 返回反向映射,即从生成的ID映射到其对应的对象
方法 values 返回目前为止存储的值。如果生成器按照标准排序顺序生成项目,返回的值将完全按照它们被添加的顺序。例如,这适用于整数ID(但也适用于许多其他ID生成器)。
实例变量 _generator 未记录
实例变量 _ids 未记录
def __contains__(self, item): (source)

检查item是否已经有一个ID。

def __getitem__(self, item): (source)

检索与item对应的ID。如果是第一次为item请求ID,则生成一个新的ID。

def __init__(self, id_generator=None, initial=None): (source)

创建一个新的唯一ID生成器。id_generator 指定我们如何为尚未有ID的元素分配新ID。如果它是 None,元素将被分配从0开始的整数标识符。如果它是一个整数,元素将被分配从给定整数开始的标识符。如果它是一个迭代器或生成器,每次需要新ID时都会调用其 next() 方法。

def __len__(self): (source)

返回项目的数量。

def __setitem__(self, item, value): (source)

覆盖 item 的 ID。

def reverse_dict(self): (source)

返回反向映射,即从生成的ID映射到其对应对象的映射

def values(self): (source)

返回目前为止存储的值。如果生成器按照标准排序顺序生成项目,返回的值将完全按照它们被添加的顺序。例如,这适用于整数ID(但也适用于许多其他ID生成器)。

_generator = (source)

未记录

未记录