⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lists.py

📁 bittorrent source by python. please enjoy
💻 PY
字号:
# QList:# basically a python 2.3 compatible interface if you want deque## SizedList:# handy class for keeping a fixed-length history# uses deque if available## by Greg Hazeltry:    from collections import deque    base_list_class = deque    popleft = deque.popleft    clear = deque.clearexcept ImportError:    from UserList import UserList    base_list_class = UserList    def popleft(l):        return l.pop(0)    def clear(l):        l[:] = []class QList(base_list_class):    def __init__(self, *a, **kw):        base_list_class.__init__(self, *a, **kw)    def popleft(self):        return popleft(self)    def clear(self):        return clear(self)    # dequeu doesn't have __add__ ?    def __add__(self, l):        n = base_list_class(self)        n.extend(l)        return n# I use QList becuase deque.popleft is faster than list.pop(0)class SizedList(QList):    def __init__(self, max_items):        self.max_items = max_items        QList.__init__(self)    def append(self, v):        QList.append(self, v)        if len(self) > self.max_items:            self.popleft()                    if __name__ == '__main__':    l = SizedList(10)    for i in xrange(50):        l.append(i)    assert list(l) == range(40, 50)    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -