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')

方法

__init__()

构造一个tuplelist

clean()

清空tuplelist对应的索引以释放内存

select()

从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会清空索引。要避免频繁的索引创建。