蟒蛇链路实现

plinq的Python项目详细描述


plinq是python的一个库,它从c语言实现了语言集成查询(language integrated query,linq)。 当然,它不是功能的完整端口,它只处理内存中的iterable对象,包括:

  • 列表
  • 设置
  • 词典
  • 文件
  • XML元素
  • 发电机
  • 以及实现iterable/iterator协议的每个类( _ ITER和NEXT

plinq试图尽可能地从c模拟可枚举的<;t>;接口。

  • 尽可能使用相同的方法名,并且 参数也

plinq运算符是懒惰的,意思是调用一个,不会开始实际工作。 只有当对返回对象的迭代开始时,才会发生这种情况。

plinq运算符返回一个新的linq对象,因此可以将运算符调用链接到一个类似api的流畅调用中。

我该怎么做?

  • 设置摘要
    • 设置plinq有几种方法:
      • 最简单的方法是调用pip install plinq
      • 您还可以签出存储库,并将其路径添加到python路径中
      • 结合以上两个步骤,您可以签出存储库,创建一个分发包 通过执行setup.py文件,然后使用pip安装该包
    • 完成这些步骤后,您可以简单地导入plinq并开始使用库
  • 配置
    • 无需额外配置
  • 依赖性
    • plinq没有外部依赖项。唯一的要求是至少要有python 3.5.2
  • 如何运行测试
    • 签出存储库后, 您可以通过从存储库的根目录调用以下命令来运行python单元测试:
      • python-m unittest发现测试/

我该和谁说话?

示例用法

import plinq
linq = plinq.from_iterable([1, 2, 3, 4, 5]).where(lambda item, index: item % 2 == 0).select(lambda item, index: item ** 2)
for item in linq:
    print(item)

这将导致以下输出:

4
16

版本历史记录

  • 0.1:从不对外发布
  • 0.2:pypi的初始版本。几乎包括所有LINQ运算符,除了“然后按”和“然后按”递减
  • 0.3:添加“然后按”和“然后按”降序LINQ运算符,以及“最大项”和“最小项”运算符。

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

推荐PyPI第三方库


热门话题
java我能在这个程序中更好地使用内存吗?   为什么我的Java while循环迭代了一半   java IntelliJ IDEA不在构建时复制资源   socket仅在Java TCP服务器输出上检查客户端断开连接   java游戏物理摩擦   java片段onClick调用方法   symja数学分析器中无法识别java Abs[x]   java在使用泛型时创建二进制搜索树类的实例?   java在外键约束表上的添加和删除   语法java表达式的含义,如果有条件   java创建内联对象并作为参数传递   是否有相当于Redis排序集(zset)的Java数据结构   java找不到适合的方法(无参数)   音频文件操作给定字节帧的音量Java   Eclipse4不以JavaWebStart启动   java如何使用org在JSON对象中获取嵌套的键元素。json?   java与Jackson的反序列化:“org.codehaus.Jackson.map.JsonMappingException:无法反序列化[projectname]的实例。”   字符串的Java正则表达式   spring集成上的java检测缺火指令