Python Datatype for a fixed-length FIFO

前端 未结 3 1910
孤城傲影
孤城傲影 2020-12-13 08:14

I would like to know if there is a native datatype in Python that acts like a fixed-length FIFO buffer. For example, I want do create a length-5 FIFO buffer that is initial

相关标签:
3条回答
  • 2020-12-13 08:49
    x = collections.deque(5*[0], 5)
    

    See the docs for more about collections.deque; the method you call push is actually called appendleft in that type.

    The second parameter (maxlen, giving the maximum lengths) was added in Python 2.6; if you're using older versions of Python, it won't be available.

    0 讨论(0)
  • 2020-12-13 08:49

    Just one more example to this post

    from collections import deque
    
    domains = ['1.com','2.com','3.com']
    d = deque(domains)               
    d.pop() #pop(delete) 3.com here
    d.appendleft('new.com') 
    
    
    print d
    

    result:

    deque(['new.com', '1.com', '2.com'])
    
    0 讨论(0)
  • 2020-12-13 09:07

    you can also use list

    a = [0,0,0,0,0]
    
    a.pop(0)
    a.append(1)
    
    print a
    result [0,0,0,0,1]
    

    or for left side in right out, otherwise

    a.pop(5)
    a.insert(0,1)
    print a
    result [1,0,0,0,0]
    
    0 讨论(0)
提交回复
热议问题