Python collections系列之双向队列

双向队列(deque)

一个线程安全的双向队列

1、创建一个双向队列

import collections

d = collections.deque()

d.append(‘1‘)
d.appendleft(‘10‘)
d.appendleft(‘a‘)
d.appendleft(‘1‘)

2、查看双向队列

print(d)

输出结果:
deque([‘1‘, ‘a‘, ‘10‘, ‘1‘])

3、查看双向队列的方法

>>> dir(d)
[‘__class__‘, ‘__copy__‘, ‘__delattr__‘, ‘__delitem__‘, ‘__dir__‘, ‘__doc__‘, ‘__eq__‘, ‘__format__‘, ‘__ge__‘, ‘__getattribute__‘, ‘__getitem__‘, ‘__gt__‘, ‘__hash__‘, ‘__iadd__‘, ‘__init__‘, ‘__iter__‘, ‘__le__‘, ‘__len__‘, ‘__lt__‘, ‘__ne__‘, ‘__new__‘, ‘__reduce__‘, ‘__reduce_ex__‘, ‘__repr__‘, ‘__reversed__‘, ‘__setattr__‘, ‘__setitem__‘, ‘__sizeof__‘, ‘__str__‘, ‘__subclasshook__‘, ‘append‘, ‘appendleft‘, ‘clear‘, ‘count‘, ‘extend‘, ‘extendleft‘, ‘maxlen‘, ‘pop‘, ‘popleft‘, ‘remove‘, ‘reverse‘, ‘rotate‘]

class deque(object):
    """
    deque([iterable[, maxlen]]) --> deque object

    Build an ordered collection with optimized access from its endpoints.
    """
    def append(self, *args, **kwargs): # real signature unknown
        """ Add an element to the right side of the deque. """
        pass

    def appendleft(self, *args, **kwargs): # real signature unknown
        """ Add an element to the left side of the deque. """
        pass

    def clear(self, *args, **kwargs): # real signature unknown
        """ Remove all elements from the deque. """
        pass

    def count(self, value): # real signature unknown; restored from __doc__
        """ D.count(value) -> integer -- return number of occurrences of value """
        return 0

    def extend(self, *args, **kwargs): # real signature unknown
        """ Extend the right side of the deque with elements from the iterable """
        pass

    def extendleft(self, *args, **kwargs): # real signature unknown
        """ Extend the left side of the deque with elements from the iterable """
        pass

    def pop(self, *args, **kwargs): # real signature unknown
        """ Remove and return the rightmost element. """
        pass

    def popleft(self, *args, **kwargs): # real signature unknown
        """ Remove and return the leftmost element. """
        pass

    def remove(self, value): # real signature unknown; restored from __doc__
        """ D.remove(value) -- remove first occurrence of value. """
        pass

    def reverse(self): # real signature unknown; restored from __doc__
        """ D.reverse() -- reverse *IN PLACE* """
        pass

    def rotate(self, *args, **kwargs): # real signature unknown
        """ Rotate the deque n steps to the right (default n=1).  If n is negative, rotates left. """
        pass

    def __copy__(self, *args, **kwargs): # real signature unknown
        """ Return a shallow copy of a deque. """
        pass

    def __delitem__(self, y): # real signature unknown; restored from __doc__
        """ x.__delitem__(y) <==> del x[y] """
        pass

    def __eq__(self, y): # real signature unknown; restored from __doc__
        """ x.__eq__(y) <==> x==y """
        pass

    def __getattribute__(self, name): # real signature unknown; restored from __doc__
        """ x.__getattribute__(‘name‘) <==> x.name """
        pass

    def __getitem__(self, y): # real signature unknown; restored from __doc__
        """ x.__getitem__(y) <==> x[y] """
        pass

    def __ge__(self, y): # real signature unknown; restored from __doc__
        """ x.__ge__(y) <==> x>=y """
        pass

    def __gt__(self, y): # real signature unknown; restored from __doc__
        """ x.__gt__(y) <==> x>y """
        pass

    def __iadd__(self, y): # real signature unknown; restored from __doc__
        """ x.__iadd__(y) <==> x+=y """
        pass

    def __init__(self, iterable=(), maxlen=None): # known case of _collections.deque.__init__
        """
        deque([iterable[, maxlen]]) --> deque object

        Build an ordered collection with optimized access from its endpoints.
        # (copied from class doc)
        """
        pass

    def __iter__(self): # real signature unknown; restored from __doc__
        """ x.__iter__() <==> iter(x) """
        pass

    def __len__(self): # real signature unknown; restored from __doc__
        """ x.__len__() <==> len(x) """
        pass

    def __le__(self, y): # real signature unknown; restored from __doc__
        """ x.__le__(y) <==> x<=y """
        pass

    def __lt__(self, y): # real signature unknown; restored from __doc__
        """ x.__lt__(y) <==> x<y """
        pass

    @staticmethod # known case of __new__
    def __new__(S, *more): # real signature unknown; restored from __doc__
        """ T.__new__(S, ...) -> a new object with type S, a subtype of T """
        pass

    def __ne__(self, y): # real signature unknown; restored from __doc__
        """ x.__ne__(y) <==> x!=y """
        pass

    def __reduce__(self, *args, **kwargs): # real signature unknown
        """ Return state information for pickling. """
        pass

    def __repr__(self): # real signature unknown; restored from __doc__
        """ x.__repr__() <==> repr(x) """
        pass

    def __reversed__(self): # real signature unknown; restored from __doc__
        """ D.__reversed__() -- return a reverse iterator over the deque """
        pass

    def __setitem__(self, i, y): # real signature unknown; restored from __doc__
        """ x.__setitem__(i, y) <==> x[i]=y """
        pass

    def __sizeof__(self): # real signature unknown; restored from __doc__
        """ D.__sizeof__() -- size of D in memory, in bytes """
        pass

    maxlen = property(lambda self: object(), lambda self, v: None, lambda self: None)  # default
    """maximum size of a deque or None if unbounded"""

    __hash__ = None

deque

4、双向队列常用的方法

时间: 2024-12-13 10:46:35

Python collections系列之双向队列的相关文章

Python - Collections系列

collections的常用类型有: 计数器(Counter) 双向队列(deque) 默认字典(defaultdict) 有序字典(OrderedDict) 可命名元组(namedtuple) 使用以上类型时需要导入模块 from collections import * 详见http://blog.csdn.net/songfreeman/article/details/50502194 原文地址:https://www.cnblogs.com/imageSet/p/8455266.html

Python collections系列之可命名元组

可命名元组(namedtuple)  根据nametuple可以创建一个包含tuple所有功能以及其他功能的类 1.创建一个坐标类 import collections # 创建类, defaultdict,坐标中会使用 MytupleClass = collections.namedtuple('MytupleClass',['x', 'y', 'z']) obj = MytupleClass(11, 22, 33) 2.查询类中的x,y,z坐标 # 默认情况下元组只能使用索引进行访问,通过创

7.Python自学之路:collections系列

一丶计数器(counter) counter是对字典类型的补充,用于追踪值的出现次数,它集成了父类dict所有的功能. import collections obj = collections.Counter('aaabbbcccddd') #collections文件下的Counter类 print(obj) #以字典的形式返回 ret = obj.most_common(4) print(ret) #前4名最多的 for k in obj.elements(): #element原生的值 p

collections之单向&amp;双向序列

这里是双向队列import collections#创建一个双向队列obj = collections.deque() #给这个队列的右边添加一个元素obj.append('11')#给这个队列的左边添加一个元素obj.appendleft('a')obj.appendleft('11')print(obj)# deque(['11', 'a', '11']) #统计一个队列中某个元素的数量ret = obj.count('11')print(ret)# 2 #extend,可以同时添加多个元素

python的collection系列-双向队列和单向队列

单向队列:数据先进先出 双向队列:可进可出 双向队列部分源码: 1 class deque(object): 2 """ 3 deque([iterable[, maxlen]]) --> deque object 4 5 Build an ordered collection with optimized access from its endpoints. 6 """ 7 def append(self, *args, **kwargs

python 数据结构 - collections系列

python中collections系列是对字典.元祖等数据结构的补充,不是python内置的,在使用之前,需要用 import collections 导入. 在collections系列中主要有以下内容: 1. Counter(seq) Counter()继承了dict类,其中seq为可迭代对象.接收seq,并以字典形式返回seq中每个元素(hashable)出现的次数. 1 import collections 2 3 s = 'abcdedcbae' 4 l = ['a','b','c'

Python 学习日记第五篇 -- collections系列

一.计数器(counter) 计数器(counter)以字典的形式返回序列中各个字符出现的次数,值为key,次数为value #!/usr/bin/env python #-*- coding:utf-8 -*- #导入collections模块 import collections counter_test = collections.Counter("asfafjhadgkhjkgfjhgfjhaghdg") print(counter_test) #返回值 C:\Python27

Python学习笔记-Day03 -第二部分(双向队列-deque和单向队列Queue)

双向队列 线程安全的双向队列 例 >>> a= collections.deque() >>> a.append(1) >>> a.appendleft(2) >>> a.append(3) >>> a.appendleft(4) >>> a.append(5) >>> a.appendleft(6) >>> a deque([6, 4, 2, 1, 3, 5])

python小白-day3 collections系列

一.计数器(Counter) Counter是对字典类型的补充,用于追踪值的出现次数. 注:因Counter继承于dict类,所以其具备dict类的所有功能 1 import collections 2 c1 = collections.Counter('skdhflsdkngsnlknvdlfb') 3 print(c1) Counter 1.__missing__(self, key)对于不存在的元素,返回计数器为0 import collections c1 = collections.C