Python Deque 模块使用详解

yipeiwu_com6年前Python基础

创建Deque序列:

from collections import deque

d = deque()

Deque提供了类似list的操作方法:

  d = deque()
  d.append('1')
  d.append('2')
  d.append('3')
  len(d)
  d[0]
  d[-1]

输出结果:

  3
  '1'
  '3'

两端都使用pop:

  d = deque('12345')
  len(d)
  d.popleft()
  d.pop()
  d

输出结果:

  5
  '1'
  '5'
  deque(['2', '3', '4'])

我们还可以限制deque的长度:

    d = deque(maxlen=30)

当限制长度的deque增加超过限制数的项时, 另一边的项会自动删除:

  d = deque(maxlen=2)
  d.append(1)
  d.append(2)
  d
  d.append(3)
  d
  deque([1, 2], maxlen=2)
  deque([2, 3], maxlen=2)

添加list中各项到deque中:

  d = deque([1,2,3,4,5])
  d.extendleft([0])
  d.extend([6,7,8])
  d

输出结果:

  deque([0, 1, 2, 3, 4, 5, 6, 7, 8])

相关文章

python安装Scrapy图文教程

python安装Scrapy图文教程

安装方法 pip install Scrapy 如果顺利的话不用管直接一路下来就OK 验证是否安装成功 安装成功 不顺利的情况 1)lxml安装不成功 使用whl进行安装,不过需要先...

Django日志模块logging的配置详解

前言 Django对于日志输出的信息是很完善的,request的信息,setting配置,trackback的信息,一应俱全,足够我们调试了。但是在线上环境,如果让用户看到这些信息,是很...

完美解决python3.7 pip升级 拒绝访问问题

完美解决python3.7 pip升级 拒绝访问问题

python3.7 pip升级 拒绝访问 解决方案 pip install --upgrade pip --user ps:下面看下python中的for循环加强 #先执行外...

实例讲解Python中SocketServer模块处理网络请求的用法

SocketServer创建一个网络服务框架。它定义了类来处理TCP,UDP, UNIX streams 和UNIX datagrams上的同步网络请求。 一、Server Types...

浅谈Python 递归算法指归

浅谈Python 递归算法指归

1. 递归概述 递归( recursion)是一种编程技巧,某些情况下,甚至是无可替代的技巧。递归可以大幅简化代码,看起来非常简洁,但递归设计却非常抽象,不容易掌握。通常,我们都是自上...