sqlite的类列表包装器
sqlist的Python项目详细描述
sqlist类似于shelve,但用于列表。它用pickle序列化数据并放入sqlite数据库。
用法
sqlist对象的行为主要类似于随意的python列表。例如,可以从列表创建sqlist。
>>> import sqlist >>> values = sqlist.SQList([1, 2, 3]) >>> values sqlist.SQList([1, 2, 3])
您可以从列表中按索引获取项。
>>> values[0] 1 >>> values[-1] 3
切片也可用。
>>> values[0:2] [1, 2]
您可以很容易地将项追加到sqlist并从中弹出它们。
>>> values.append(23) >>> values sqlist.SQList([1, 2, 3, 23]) >>> valuea.pop(0) 1 >>> values sqlist.SQList([2, 3, 23])
不幸的是,插入还不可用,但计划在以后的版本中使用。
排序
您可以很容易地对sqlist进行就地排序,但是要小心,这种排序可能会很长。
>>> values.sort(key=lambda x: 1 / x) >>> values sqlist.SQList([23, 3, 2]) >>> values.sort() >>> values sqlist.SQList([2, 3, 23])
还有一种方法可以使您的sqlist保持永久排序。
>>> values = sqlist.SQList(['a', 'aa', 'aaaa'], key=lambda x: len('x')) >>> values sqlist.SQList(['a', 'aa', 'aaaa'], key=lambda x: len('x')) >>> values.append('bbb') >>> values sqlist.SQList(['a', 'aa', 'bbb', 'aaaa'], key=lambda x: len('x'))
这种方式有点难看,但它是为高性能而设计的。
多线程处理
目前sqlist不是线程安全的,可能以后会变成这样。