一 :集合库collection python 拥有一些内置的数据类型,collections模块提供啦几个额外的数据类型: 1,namedtuple 生成可以使用名字来访问元素内容的tuple子类 2,deque 双端队列,可以加速从另一侧追加和推出对象 3,counter 计数器,主要用来计数 ...
分类:
编程语言 时间:
2018-03-07 15:16:47
阅读次数:
253
import heapq heap = [] heapq.heappush(heap, item)#将item加入heap,保持堆结构 heapq.heappop(heap)#弹出堆顶最小元素,如果heap为空,抛出一个IndexError,不弹出只调用这个最小元素,使用heap[0] heapq.... ...
分类:
其他好文 时间:
2018-02-22 13:38:34
阅读次数:
111
1.同时迭代多个序列(zip(函数)) 使用zip()函数可以同时迭代多个序列。 zip(a, b)的作用是创建一个迭代器,产生元组(x, y),x取自a序列,y取自b序列,当a,b序列中其中一个没有元素可以继续迭代时,整个迭代过程结束。 如果想对多余的序列进行迭代,即上面a中的4,5,6元素,可以 ...
分类:
编程语言 时间:
2017-09-09 22:28:39
阅读次数:
157
这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection、Array、Heapq、Bisect、Weakref、Copy以及Pprint这些数据结构的用法,需要的朋友可以参考下 这篇文章主要介绍了Python中的高级数据结构详解,本文讲解了Collection、Array、 ...
分类:
编程语言 时间:
2017-09-05 19:06:14
阅读次数:
193
1.双向队列 collections.deque 类(双向队列)是一个线程安全、可以快速从两端添加或者删除元素的数据类型。 rotate和popleft操作,rorate可以把前后元素换位。popleft可以从左边删除元素,extendleft可以从左边添加元素。 2.heapq 模块 heapq ...
分类:
编程语言 时间:
2017-08-26 21:31:17
阅读次数:
226
一、模块: 1、任何python程序都能作为模块导入。使用sys。 编写一个hello.py程序,保存到d:\python目录。 2、模块用于定义:定义所有类和函数以及赋值后的变量都成为了模块的特性。 python程序定义了一个hello2()的函数。 导入模块后则可以直接通过模块来调用hello2 ...
分类:
编程语言 时间:
2017-07-18 16:49:40
阅读次数:
304
1 from heapq import *; 2 from collections import *; 3 import random as rd; 4 import operator as op; 5 import re; 6 7 data = [2,2,6,7,9,12,34,0,76,-12, ...
分类:
编程语言 时间:
2017-07-17 18:57:45
阅读次数:
165
第八章总结 8.5. heapq — 堆队列算法 有8个算法 最小堆封装 # 最小堆封装 from heapq import * import pprint class MinHeap: def __init__(self, iterable): self._iteralbe = [] self._ ...
分类:
编程语言 时间:
2017-06-22 00:23:55
阅读次数:
244
队列:from collections import deque;实现保存最后几条历史记录,list = deque(maxlen=6),那么超过六条记录会删除之前的记录。 堆:import heapq;最大特点是第一弹出的元素总是堆中最小的元素;list=[1,2,3] heap=heapq.he ...
分类:
编程语言 时间:
2017-06-17 11:10:54
阅读次数:
232