5、双向队列(deque)函数说明
一个线程安全的双向队列,可进可出,可以从两端添加和删除元素;
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 ‘‘‘ 在deque的右边添加一个元素; 例如: >>> from collections import deque >>> d = deque() >>> d deque([]) >>> d.append(‘a‘) >>> d deque([‘a‘]) >>> d.append(‘b‘) >>> d deque([‘a‘, ‘b‘]) >>> d.append([‘b‘,‘c‘]) >>> d deque([‘a‘, ‘a‘, [‘b‘, ‘c‘]]) >>> d.append(‘b‘,‘c‘) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: append() takes exactly one argument (2 given) ‘‘‘ def appendleft(self, *args, **kwargs): # real signature unknown """ Add an element to the left side of the deque. """ pass ‘‘‘ 在deque的左边添加一个元素; 例如: >>> d = deque(‘a‘) >>> d deque([‘a‘]) >>> d.appendleft(‘b‘) >>> d deque([‘b‘, ‘a‘]) ‘‘‘ def clear(self, *args, **kwargs): # real signature unknown """ Remove all elements from the deque. """ pass ‘‘‘ 从deque中删除所有元素; 例如: >>> d = deque([‘a‘,‘b‘]) >>> d deque([‘a‘, ‘b‘]) >>> d.clear() >>> d deque([]) ‘‘‘ def count(self, value): # real signature unknown; restored from __doc__ """ D.count(value) -> integer -- return number of occurrences of value """ return 0 ‘‘‘ 返回值的出现次数; 例如: >>> d = deque([‘a‘,‘a‘]) >>> d.count(‘a‘) 2 ‘‘‘ def extend(self, *args, **kwargs): # real signature unknown """ Extend the right side of the deque with elements from the iterable """ pass ‘‘‘ 使用可迭代的元素扩展deque的右侧,即一次性可添加多个元素; 例如: >>> d = deque([‘a‘,‘b‘]) >>> d deque([‘a‘, ‘b‘]) >>> d.extend([‘c‘,‘d‘,‘e‘]) >>> d deque([‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘]) ‘‘‘ def extendleft(self, *args, **kwargs): # real signature unknown """ Extend the left side of the deque with elements from the iterable """ pass ‘‘‘ 使用可迭代的元素扩展deque的左侧,即一次性可添加多个元素; 例如: >>> d = deque([‘a‘,‘b‘]) >>> d deque([‘a‘, ‘b‘]) >>> d.extendleft([‘c‘,‘d‘,‘e‘]) >>> d deque([‘e‘, ‘d‘, ‘c‘, ‘a‘, ‘b‘]) ‘‘‘ def pop(self, *args, **kwargs): # real signature unknown """ Remove and return the rightmost element. """ pass ‘‘‘ 删除并返回最右侧的元素; 例如: >>> d = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> d.pop() ‘e‘ ‘‘‘ def popleft(self, *args, **kwargs): # real signature unknown """ Remove and return the leftmost element. """ pass ‘‘‘ 删除并返回最左侧的元素; 例如: >>> d = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> d.popleft() ‘a‘ ‘‘‘ def remove(self, value): # real signature unknown; restored from __doc__ """ D.remove(value) -- remove first occurrence of value. """ pass ‘‘‘ 删除指定的一个值; 例如: >>> d = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> d.remove() Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: remove() takes exactly one argument (0 given) >>> d.remove(‘a‘) >>> d deque([‘b‘, ‘c‘, ‘d‘, ‘e‘]) >>> d.remove(‘c‘) >>> d deque([‘b‘, ‘d‘, ‘e‘]) >>> d.remove(‘b‘,‘d‘) Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: remove() takes exactly one argument (2 given) ‘‘‘ def reverse(self): # real signature unknown; restored from __doc__ """ D.reverse() -- reverse *IN PLACE* """ pass ‘‘‘ 将元素反转; 例如: >>> d = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> d.reverse() >>> d deque([‘e‘, ‘d‘, ‘c‘, ‘b‘, ‘a‘]) ‘‘‘ 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 ‘‘‘ 将最后的n个元素向右反转(默认n = 1),如果n为负,则将最前的n个元素向左反转; 例如: >>> d = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> d.rotate() >>> d deque([‘e‘, ‘a‘, ‘b‘, ‘c‘, ‘d‘]) >>> d.rotate(2) >>> d deque([‘c‘, ‘d‘, ‘e‘, ‘a‘, ‘b‘]) >>> d.rotate(-4) >>> d deque([‘b‘, ‘c‘, ‘d‘, ‘e‘, ‘a‘]) ‘‘‘ 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 ‘‘‘ 删除元素,等同于del; 例如: >>> d = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> d.__delitem__(1) >>> d deque([‘a‘, ‘c‘, ‘d‘, ‘e‘]) >>> del d[2] >>> d deque([‘a‘, ‘c‘, ‘e‘]) ‘‘‘ def __eq__(self, y): # real signature unknown; restored from __doc__ """ x.__eq__(y) <==> x==y """ pass ‘‘‘ 等同于判断,返回布尔值; 例如: >>> x = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> y = deque([‘a‘,‘b‘,‘c‘,‘d‘]) >>> x.__eq__(y) False >>> x == y False >>> y = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> x == y True ‘‘‘ 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 ‘‘‘ 返回队列指定下标的值,下标值需指定并为整数型,否则报错; 例如: >>> x = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> x.__getitem__(2) ‘c‘ >>> x[3] ‘d‘ ‘‘‘ def __ge__(self, y): # real signature unknown; restored from __doc__ """ x.__ge__(y) <==> x>=y """ pass ‘‘‘ 大于等于判断,返回布尔值; 例如: >>> x = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> y = deque([‘a‘,‘b‘,‘c‘,‘d‘]) >>> x.__ge__(y) True >>> x >= y True ‘‘‘ 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 ‘‘‘ 构造方法,执行x = deque()时自动调用deque函数; ‘‘‘ def __iter__(self): # real signature unknown; restored from __doc__ """ x.__iter__() <==> iter(x) """ pass ‘‘‘ 在deque上返回一个迭代器; ‘‘‘ def __len__(self): # real signature unknown; restored from __doc__ """ x.__len__() <==> len(x) """ pass ‘‘‘ 返回队列长度; 例如: >>> x = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> x.__len__() 5 >>> len(x) 5 ‘‘‘ 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 ‘‘‘ 返回pickling的状态信息; ‘‘‘ 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 ‘‘‘ 在deque上返回一个反向迭代器; ‘‘‘ def __setitem__(self, i, y): # real signature unknown; restored from __doc__ """ x.__setitem__(i, y) <==> x[i]=y """ pass ‘‘‘ 对队列里,指定的下标值进行修改,i需为整数,并且不能超过队列的下标范围; 例如: >>> x = deque([‘a‘,‘b‘,‘c‘,‘d‘,‘e‘]) >>> x.__setitem__(2,‘f‘) >>> x deque([‘a‘, ‘b‘, ‘f‘, ‘d‘, ‘e‘]) >>> x[4] = ‘g‘ >>> x deque([‘a‘, ‘b‘, ‘f‘, ‘d‘, ‘g‘]) >>> x[5] = ‘h‘ Traceback (most recent call last): File "<stdin>", line 1, in <module> IndexError: deque index out of range ‘‘‘ 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
本文出自 “m199369309” 博客,请务必保留此出处http://434727.blog.51cto.com/424727/1899015
原文地址:http://434727.blog.51cto.com/424727/1899015