意见

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 JNA调用与带有字节[]的java JNA调用的行为不同   java基于键列表获取子映射   重启后永久增加java堆大小?   JavaHTTPS服务器:相互SSL身份验证   java为什么接受接口的方法会拒绝该接口的实现?   片段中的java视图无法应用于()   ms access Java SQL更新命令不工作   java将web服务自动打包和部署到Oracle Application Server 10g   java有没有办法在安卓 studio中为安卓时钟设置多个警报?   位于FTP服务器上的文件上的Java校验和md5   在Java中创建类时遇到问题。有些方法不太确定   java错误:在类chrome\u驱动程序中找不到主方法   通用海图(Javascript\Java)