跳至内容

schola.core.utils.IdManager

类定义

class schola.core.utils.IdManager(ids)

基类: object

一个管理嵌套和扁平化 ID 之间映射的类。

参数

ids

类型: List[List[int]]
要管理的嵌套 ID 列表,列表中的索引是第一个 ID,第二个 ID 存储在第二个列表中。

属性

ids

类型: List[List[int]]
要管理的嵌套 ID 列表。

属性

id_list

类型: List[Tuple[int, int]] (属性)
嵌套 ID 列表,用于从扁平化 ID 查找嵌套 ID。

返回: 嵌套 ID 列表。

返回类型: List[Tuple[int, int]]

id_map

类型: List[Dict[int, int]] (属性)
将嵌套 ID 映射到扁平化 ID 的字典列表。

返回: 将嵌套 ID 映射到扁平化 ID 的字典列表。

返回类型: List[Dict[int, int]]

num_ids

类型: int (属性)
IdManager 管理的 ID 数量。

返回: ID 数量。

返回类型: int

方法

__init__

__init__(ids)

参数

  • ids (List[List[int]])

flatten_id_dict

flatten_id_dict(nested_id_dict, default=None)

将嵌套 ID 的字典扁平化为值列表。

参数

  • nested_id_dict (Dict[int, Dict[int, T]]) – 要扁平化的字典
  • default (Optional[T], 可选) – 如果找不到键,则使用的默认值,默认为 None

返回: 字典中找到的值的扁平化列表。

返回类型: List[T]

get_flattened_id

get_flattened_id(first_id, second_id)

从嵌套 ID 获取扁平化 ID。

参数

  • first_id (int) – 第一个 ID
  • second_id (int) – 第二个 ID

返回: 扁平化 ID。

返回类型: int

get_nested_id

get_nested_id(flat_id)

从扁平化 ID 获取嵌套 ID。

参数

  • flat_id (int) – 要转换的扁平化 ID

返回: 嵌套 ID。

返回类型: Tuple[int, int]

nest_id_list

nest_id_list(id_list, default=None)

将由扁平化 ID 索引的值列表嵌套到嵌套 ID 的字典中。

参数

  • id_list (List[T]) – 要转换为嵌套字典的值列表
  • default (Optional[T], 可选) – 如果找不到键,则使用的默认值,默认为 None

返回: id_list 中值的嵌套字典,或在值丢失时返回默认值。

返回类型: Dict[int, Dict[int, T]]

partial_get

partial_get(first_id)

获取给定第一个 ID 的第二个 ID。

参数

  • first_id (int) – 要获取第二个 ID 的第一个 ID

返回: 给定第一个 ID 的第二个 ID。

返回类型: List[int]

© . This site is unofficial and not affiliated with AMD.