本文共 1383 字,大约阅读时间需要 4 分钟。
看完<<Effective-Python编写高质量Python代码的59个有效方法>>后做的一些记录。
该队列的头部或尾部插入或移除一个元素, 只需要消耗常数级时间。
fifo = deque()fifo.append(1)x = fifo.popleft()复制代码
OrderedDict, 是一种特殊的字典, 它能够按照键的插入顺序,来保留键值对在字典中的次序。
a = OrderedDict()a['foo'] = 1a['bar'] = 2b = OrderedDict()b['foo'] = 'red'b['bar'] = 'blue'for value1, value2 in zip(a.values(), b.balues()): print(value1, value2)复制代码
如果字典里没有待访问的键,那么它就会把某个默认值与这个建自动关联起来
stats = defaultdict(int)stats['my_counter'] += 1复制代码
堆(heap)是一种数据结构, 很适合用来实现优先队列
import heapqa = []heapq.heappush(a, 5)heapq.heappush(a, 3)heapq.heappush(a, 5)heapq.heappush(a, 2)print(heapq.heappop(a), heapq.heappop(a))2 3复制代码
bisect模块中的bisect_left等函数,提供高效的二分折半搜索算法,能够在一系列排好顺序的元素之中搜寻某个值。
import bisecti = bisect.bisect_left(a, 5)复制代码
1. 能够把迭代器连接起来的函数
2. 能够从迭代器中过滤元素的函数
3. 能够把迭代器中的元素组合起来的函数
转载地址:http://dich.baihongyu.com/