zoukankan      html  css  js  c++  java
  • 28-4 collection模块

    collection模块

        是一个数据类型的扩展模板

    什么是队列?

      1、单端的:先进先出(排队)

    import queue
    q=queue.Queue()
    
    q.put(1)
    q.put(2)
    q.put(3)
    q.put(4)
    print(q)  # 是一个对象,看不见值
    print(q.get()) # 先进先出,拿出来1了
    print(q.qsize())  # 3 上面拿出来一个后就只剩三个了

    2、双端的:

    deque 双端队列

    from collections import deque
    
    dq =deque()
    dq.append(1)
    dq.append(2)
    dq.appendleft('a')
    dq.appendleft('b')
    print(dq)  # 可以看到值 deque(['b', 'a', 1, 2])
    
    print(dq.pop())  # 2
    print(dq)   # deque(['b', 'a', 1])
    
    print(dq.popleft())  # b
    print(dq)           # deque(['a', 1])
    
    print(dq.remove('a'))
    print(dq)   # deque([1])
    
    print(dq.insert(1,'a'))
    print(dq)   #deque([1, 'a'])

    好像和列表差不多嘛?

      其实效率会更快!

      因为双端队列用的链表

      【 1|指向下一个值的地址 】-》【 a|指向下一个值的地址 】-》....  【 xx|指向下一个值的地址 】

  • 相关阅读:
    HTML5:超文本标记语言
    Redis持久化
    ACID VS BASE+CAP
    Redis
    NoSQL(Redis、Menchche、MongoDB)
    transient关键字
    Struts2声明式验证相关问题
    struts2国际化相关问题
    Struts2
    SSH整合的详细步骤
  • 原文地址:https://www.cnblogs.com/zhuangdd/p/12669978.html
Copyright © 2011-2022 走看看