意见

views的Python项目详细描述


views–生成器和序列的有效工具

^ {tt1}$模块为现有的Python理解和生成器表达式提供了补充。(链式)序列视图可以使用seq生成,生成器可以使用gen链式生成,如下例所示。

欢迎任何反馈或建议。

开始

要求

  • Python3.6+

安装

软件包可以用pip安装(确保已安装):

pip3 install git+http://github.com/k7hoven/views

或者如果您的默认python是python 3:

pip install git+http://github.com/k7hoven/views

基本用法

这里有一些基本的介绍性例子,但是它们应该能让你开始。

序列视图理解语法

可以将链单个对象和序列更改为一个序列视图。使用::就像在元组(un)打包中使用*一样。结果对象支持切片和索引。

示例:

>>>fromviewsimportseq>>>seq[::range(3),None,::"abc","Hi!"]<sequenceview8:[0,1,2,None,'a','b','c','Hi!']>>>>seq[::range(100)]<sequenceview100:[0,1,2,3,4,...,96,97,98,99]>

生成器理解语法

使用likeseq。生成的对象是生成器。

示例:

>>>fromviewsimportgen>>>list(gen[::range(3),3,4,::range(5,7),7])[0,1,2,3,4,5,6,7]

链式序列和生成器/iterable

可以使用seq.chain(*sequences)链接任意数量的序列,使用gen.chain(*iterables)链接任意数量的生成器。后者相当于itertools.chain(*iterables)

示例:

>>>fromviewsimportseq,gen>>>seq.chain([1,2,3],[4,5,6])<sequenceview6:[1,2,3,4,5,6]>>>>list(gen.chain([1,2,3],[4,5,6]))[1,2,3,4,5,6]

玩得开心!

更改日志

0.3.0(2017-10-10)

  • 添加seq.chain(*sequences)gen.chain(*iterables)
  • 一些速度优化,特别是对seq

0.2.0(2017-09-11)

  • lengthChangederRor现在是RuntimeError的子类。
  • seqgen进行小优化。

0.1.0(2017-06-06)

  • 第一个版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java获取textview的文本并将其粘贴到另一个上   java ImageIO。write()不保存文件   java H2数据库排序字符串时间戳,格式为yyyyMMdd'T'hh:mm:ss。SSSSSSS'Z'   java匿名类与静态字段   java将一个句子拆分为字符串数组,并保留特殊字符或空格   JavaBIRT报告引擎。计算Javascript表达式时出错   日志表的java MySQL隔离级别读取未提交   java Android调用意图权限   java如何在iText 7中查找文本位置和边界   从Groovy调用Java类主方法时,避免参数数量不正确   java libGDX:在批处理调用stage constructor时,为舞台上的演员绘制纹理作为背景   java randoop可以利用usermade JUnit测试生成测试吗?   java Eclipse工作区将不再显示我的项目