8.6.3. tuplelist¶
- class tuplelist¶
代表一个包含元组的列表。 建立索引后,可以通过指定查询条件,迅速匹配到列表中的元组。 例如:
li = tuplelist() li.append((1, 2, 'sum is 3')) li.append((2, 2, 'sum is 4')) # 匹配所有记录 li.select('*', 2, '*') # 匹配第一条记录 li.select(1) # 匹配第二条记录 li.select('*', '*', 'sum is 4')
方法
构造一个tuplelist
清空tuplelist对应的索引以释放内存
从tuplelist中匹配标量或元组
- __init__(li, wildcard)¶
构造一个tuplelist
- Parameters
li – 初始包含的数据数组
wildcard – 查询时,代表匹配任何值的字符串,默认为’*’
example:
li = tuplelist([(1, 2), (3, 4)], wildcard='@')
Note
传入数组的元素,可以是标量或元组。如果是元组,需要有相同的长度
- clean()¶
清空tuplelist对应的索引以释放内存
Note
清空索引后,再次查询时会重建索引
- select(*query=[])¶
从tuplelist中匹配标量或元组
- Parameters
*query=[] –
要匹配的元组模式
example:
li = tuplelist([(1, 2, 3), (2, 2, 3)]) li.select('*', 2, 3) li.select(1) li.select(1, 2)
Note
调用select会触发创建索引,但修改tuplelist会清空索引。要避免频繁的索引创建。