使用任意谓词将可迭代对象分割成多个。
项目描述
使用任意谓词将可迭代对象分割成多个。
此软件包包含一个函数:multisplitby.multi_split_by。
对于所有列表 values 和 predicates,以下条件始终为真
1 + len(predicates) = len(list(multi_split_by(values, predicates)))
values == itertools.chain.from_iterable(multi_split_by(values, predicates))
单个谓词的正常使用
>>> values = range(4)
>>> predicates = [lambda x: 2 < x]
>>> list(map(list, multi_split_by(values, predicates)))
[[0, 1, 2], [3]]
多个谓词的正常使用
>>> values = range(9)
>>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x]
>>> list(map(list, multi_split_by(values, predicates)))
[[0, 1, 2], [3, 4], [5, 6, 7], [8]]
如果没有给出值,将生成 |predicates| + 1 个生成器,所有生成器都返回空列表。
>>> values = []
>>> predicates = [lambda x: 2 < x, lambda x: 4 < x, lambda x: 7 < x]
>>> list(map(list, multi_split_by(values, predicates)))
[[], [], [], []]
如果没有给出谓词,将生成一个生成器,该生成器返回原始列表
>>> values = range(4)
>>> predicates = []
>>> list(map(list, multi_split_by(values, predicates)))
[[0, 1, 2, 3]]
安装
使用以下命令从PyPI安装
$ pip install multisplitby
或使用以下命令从GitHub获取最新代码
$ git clone https://github.com/cthoyt/multisplitby.git
$ cd multisplitby
$ pip install -e .
项目详情
下载文件
下载适合您平台文件。如果您不确定选择哪个,请了解有关安装软件包的更多信息。
源代码分发
multisplitby-0.0.1.tar.gz (5.6 kB 查看哈希)
构建分发
multisplitby-0.0.1-py3-none-any.whl (4.0 kB 查看哈希)
关闭
multisplitby-0.0.1.tar.gz 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e40489fa174fd7afd28a895477e6eefc64d6cfd863cca6900530e436a40e356f |
|
MD5 | 17942d7abf678d6384f1901e0d6577cb |
|
BLAKE2b-256 | 2b2e595fef86e166573aef74de303a95f89c6d6e32df8f036dc4b97279758d62 |
关闭
multisplitby-0.0.1-py3-none-any.whl 的哈希
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ab9237c1366e0cd9eecc87cfa5c0330b4843dfcafe71408ea2d8864659f69897 |
|
MD5 | 90bf5744c34633da12f8a9c9b314e6e3 |
|
BLAKE2b-256 | b18fa054cb80019076a42b2a2876b76aea0c48c44c2fefd86bc59782967fcc13 |