跳转到主要内容

将代理列表转换为返回列表的函数

项目描述

PyPI Build Status

此小型包提供将代理列表转换为返回列表的函数的功能

>>> from lazylist import LazyList
>>> l = LazyList(lambda: x)
>>> x = [1, 2, 3]
>>> list(l)
[1, 2, 3]

更确切地说,视图函数不需要返回一个精确的 list,而是一个任何序列对象,例如 strtuple

>>> x = "hello"
>>> list(l)
['h', 'e', 'l', 'l', 'o']

它满足 collections.abc.Sequence 协议

>>> from collections import Sequence
>>> isinstance(l, Sequence)
True
>>> l[-1]
'o'
>>> len(l)
5

但是,它不满足 collections.abc.MutableSequence 协议。换句话说,它是不可变的

>>> from collections import MutableSequence
>>> isinstance(l, MutableSequence)
False
>>> l[0] = 'H'
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'LazyList' object does not support item assignment

在LGPLv3或更高版本下分发。

待办事项

  • LazySet

  • LazyMap

支持者