编程语言
首页 > 编程语言> > Python内置算法与数据结构

Python内置算法与数据结构

作者:互联网

 

看完<<Effective-Python编写高质量Python代码的59个有效方法>>后做的一些记录。


该队列的头部或尾部插入或移除一个元素, 只需要消耗常数级时间。

fifo = deque()
fifo.append(1)
x = fifo.popleft()
复制代码

OrderedDict, 是一种特殊的字典, 它能够按照键的插入顺序,来保留键值对在字典中的次序。

a = OrderedDict()
a['foo'] = 1
a['bar'] = 2
b = 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 heapq
a = []
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 bisect
i = bisect.bisect_left(a, 5)
复制代码

1. 能够把迭代器连接起来的函数

2. 能够从迭代器中过滤元素的函数

3. 能够把迭代器中的元素组合起来的函数

标签:heapq,内置,函数,迭代,Python,元素,bisect,器中,数据结构
来源: https://blog.csdn.net/weixin_41556756/article/details/114712004