澳门永利备用网址popleft可以从左侧删除元素,popleft可以从右边删除元素

1.双向队列

   collections.deque
类(双向队列)是一个线程安全、可以很快从互相添加或者去除元素的数据类型。

  rotate和popleft操作,rorate可以把前后元素换位。popleft可以从左边删除元素,extendleft可以从左侧添法郎素。

>>> from collections import deque  # 导入deque模块
>>> dq = deque(range(10), maxlen=10)  # deque可以有maxlen参数,限制元素的个数
>>> dq 
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], maxlen=10) 
>>> dq.rotate(3)  #  rotate旋转操作接受一个参数 n,当 n > 0 时,队列的最右边的 n 个元素会被移动到 队列的左边。当 n < 0 时,最左边的 n 个元素会被移动到右边。 
>>> dq 
deque([7, 8, 9, 0, 1, 2, 3, 4, 5, 6], maxlen=10) 
>>> dq.rotate(-4) 
>>> dq 
deque([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], maxlen=10) 
>>> dq.appendleft(-1)  
>>> dq 
deque([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9], maxlen=10)
>>> dq.extend([11, 22, 33])  
>>> dq 
deque([3, 4, 5, 6, 7, 8, 9, 11, 22, 33], maxlen=10) 
>>> dq.extendleft([10, 20, 30, 40])  
>>> dq 
deque([40, 30, 20, 10, 3, 4, 5, 6, 7, 8], maxlen=10)

 

明快的python和cookbook学习笔记(三),pythoncookbook

2.heapq 模块

  heapq 模块有多少个函数:nlargest() 和
nsmallest()能够从一个聚集中收获最大依旧最小的 N 个元素列表。

import heapq 
nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] 

print(heapq.nlargest(3, nums)) # Prints [42, 37, 23]

print(heapq.nsmallest(3, nums)) # Prints [-4, 1, 2]

 

1.双向队列

   collections.deque
类(双向队列)是一个线程安全、能够很快从两岸添加或者去除元素的数据类型。

  rotate和popleft操作,rorate可以把前后元素换位。popleft可以从左边删除元素,extendleft能够从左边添欧元素。

>>> from collections import deque  # 导入deque模块
>>> dq = deque(range(10), maxlen=10)  # deque可以有maxlen参数,限制元素的个数
>>> dq 
deque([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], maxlen=10) 
>>> dq.rotate(3)  #  rotate旋转操作接受一个参数 n,当 n > 0 时,队列的最右边的 n 个元素会被移动到 队列的左边。当 n < 0 时,最左边的 n 个元素会被移动到右边。 
>>> dq 
deque([7, 8, 9, 0, 1, 2, 3, 4, 5, 6], maxlen=10) 
>>> dq.rotate(-4) 
>>> dq 
deque([1, 2, 3, 4, 5, 6, 7, 8, 9, 0], maxlen=10) 
>>> dq.appendleft(-1)  
>>> dq 
deque([-1, 1, 2, 3, 4, 5, 6, 7, 8, 9], maxlen=10)
>>> dq.extend([11, 22, 33])  
>>> dq 
deque([3, 4, 5, 6, 7, 8, 9, 11, 22, 33], maxlen=10) 
>>> dq.extendleft([10, 20, 30, 40])  
>>> dq 
deque([40, 30, 20, 10, 3, 4, 5, 6, 7, 8], maxlen=10)

 

2.heapq 模块

  heapq 模块有多少个函数:nlargest() 和
nsmallest()可以从一个汇聚中得到最大照旧最小的 N 个元素列表。

import heapq 
nums = [1, 8, 2, 23, 7, -4, 18, 23, 42, 37, 2] 

print(heapq.nlargest(3, nums)) # Prints [42, 37, 23]

print(heapq.nsmallest(3, nums)) # Prints [-4, 1, 2]

 

http://www.bkjia.com/Pythonjc/1224130.htmlwww.bkjia.comtruehttp://www.bkjia.com/Pythonjc/1224130.htmlTechArticle流畅的python和cookbook学习笔记(三),pythoncookbook
1.双向队列 collections.deque
类(双向队列)是一个线程安全、可以高速从双方添加或者删除…