TreeSet&TreeMap
如果需要动态地在一个排序的数据集合中添加元素,或者需要根据数据的大小查找,那么可以使用
TreeSet
或TreeMap
解决。from sortedcontainers import SortedSet ss = SortedSet() # 添加单个 ss.add(val) # 添加多个元素 ss.update([1,3, 5]) # 参数为可迭代对象 # 按值删除 ss.remove(val) # 按索引删除 ss.pop()
from sortedcontainers import SortedList sl = SortedList() # 添加一个元素 sl.add(3) # 添加多个元素 sl.update([3,5,6,7]) # 按值删除 sl.remove(3) or sl.discard(3) # 按索引删除 sl.pop(index=2) or del sl[2] # 统计出现次数 sl.count(3) # 根据值查找索引 sl.index(val)
from sortedcontainers import SortedDict # 是根据键来排序的 sd = SortedDict() # 更新多个 字典 sd.update({'d': 4, 'c': 3}) # 设置默认值 sd.setdefault('a', 1) # 按值(键)删除 del sd['d'] sd.pop('c') # 按照索引删除 sd.popitem(index=-1)