zoukankan      html  css  js  c++  java
  • Python 双向队列Deque、单向队列Queue 模块使用详解

    Python 双向队列Deque 模块使用详解

    创建双向队列Deque序列

    双向队列Deque提供了类似list的操作方法:

    #!/usr/bin/python3
    
    import collections
    #创建队列
    d = collections.deque()
    
    d.append("1")
    d.append("2")
    d.append("3")
    print(len(d))
    print(d[0])
    print(d[-1])

     执行结果:

    3
    1
    3
    

    两端都使用pop:

    #!/usr/bin/python3
    
    import collections
    #创建队列
    d = collections.deque("12345")
    print(len(d))
    print(d.popleft())
    print(d.pop())
    print(d)

    执行结果:

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

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

    d1 = collections.deque(maxlen=30)
    

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

    #!/usr/bin/python3
    
    import collections
    
    #创建队列
    d = collections.deque(maxlen=2)
    d.append(1)
    d.append(2)
    print(d)
    d.append(3)
    print(d)
    

    执行结果:

    deque([1, 2], maxlen=2)
    deque([2, 3], maxlen=2)
    

    添加list中各项到deque中:

    #!/usr/bin/python3
    
    import collections
    
    #创建队列
    d = collections.deque([1,2,3,4,5])
    print(d)
    d.extendleft([0])
    print(d)
    d.extend([6,7,8])
    print(d)
    

    执行结果:

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

  • 相关阅读:
    最小的K个数
    CentOS 7 连接不到网络解决方法
    数组中超过一半的数字
    字符串的排列
    二叉搜索树与双向链表
    复杂链表的复制
    二叉树中和为某一数值的路径
    二叉搜索树的后序遍历序列
    从上到下打印二叉树
    java的图形文档
  • 原文地址:https://www.cnblogs.com/chenlin163/p/7259145.html
Copyright © 2011-2022 走看看