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])
    

  • 相关阅读:
    27、驱动调试之修改系统时钟中断定位系统僵死问题
    25、驱动调试之打印到proc虚拟文件
    24、驱动调试之printk
    23、uevent/hotplug热拔插机制
    22、DMA驱动程序框架
    21、IIS声卡驱动程序
    20、RTC驱动程序
    ZOJ
    HDU-4272 LianLianKan (dfs)
    UVA-624 CD (01背包+路径记忆)
  • 原文地址:https://www.cnblogs.com/chenlin163/p/7259145.html
Copyright © 2011-2022 走看看