可作为链子
chiter的Python项目详细描述
可作为链条使用
要求
- Python3.7+
安装
pip install chiter
文档
即将推出
为什么?
- 链不需要将中间状态保存在临时变量中
- 看起来可读性更强
示例
必须从以下序列中获得所有数字的和:"23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"
第一条路
fromitertoolsimportchaindata="23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"chunks=(chunk.split(',')forchunkindata.split())flat_data=chain.from_iterable(chunks)items=(int(item)foriteminflat_dataifnotitem.isalpha())result=sum(items)assertresult==352
第二条路
fromitertoolsimportchaindata="23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"result=sum((int(item)foriteminchain.from_iterable(map(lambdac:c.split(','),data.split()))ifnotitem.isalpha()))assertresult==352
切特路
fromchiterimportChIterasIdata="23,45,67\n45,56,55\n\n45,a,5\n-45,56,0"result=(I(data.split()).map(lambdax:x.split(',')).flat().filterfalse(str.isalpha).map(int).sum())assertresult==352