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]