Skip to main content

infixpy

See blog post, Introducing infixpy: Scala-inspired data structures for Python to learn about using this library.

A functional, object-oriented approach for working with sequences and collections. Also similar to Spark RDDs and Java Streams. Hope you find they simplify your code by providing a plethora of common algorithms for working with sequences and collections.

Stephen's Direct from Scala example

Scala version

val a = ((1 to 50)
  .map(_ * 4)
  .filter( _ <= 170)
  .filter(_.toString.length == 2)
  .filter (_ % 20 == 0)
  .zipWithIndex
  .map{ case(x,n) => s"Result[$n]=$x"}
  .mkString("  .. "))

  a: String = Result[0]=20  .. Result[1]=40  .. Result[2]=60  .. Result[3]=80

Version using the infixpy library with python

from infixpy import * 
a = (Seq(range(1,51))
     .map(lambda x: x * 4)
     .filter(lambda x: x <= 170)
     .filter(lambda x: len(str(x)) == 2)
     .filter( lambda x: x % 20 ==0)
     .enumerate()
     .map(lambda x: 'Result[%d]=%s' %(x[0],x[1]))
     .mkstring(' .. '))
print(a)
  
  # Result[0]=20  .. Result[1]=40  .. Result[2]=60  .. Result[3]=80

Original Example

from infixpy import Seq

(Seq(range(10))
 .map(lambda x: x+3)
 .filter(lambda x: x%2==0)
 .groupby(lambda x: x%3)
 .keys()
 .foreach(print))

Output

1
0
2

Examples

See examples/ directory for additional examples of using infixpy.

Also see example usages in career_village_entities.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

infixpy-0.4.0.tar.gz (9.0 kB view details)

Uploaded Source

File details

Details for the file infixpy-0.4.0.tar.gz.

File metadata

  • Download URL: infixpy-0.4.0.tar.gz
  • Upload date:
  • Size: 9.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.8

File hashes

Hashes for infixpy-0.4.0.tar.gz
Algorithm Hash digest
SHA256 89c0488b560fced907c8f1229d67ebb491f076d8658b54ff66aa356a396dfc6c
MD5 207d5188d7fd3c33fe82d3954565eed0
BLAKE2b-256 a08604796154c81f35f5cab605fe4886ace2f508c22d3479ff713b0a073319e1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.4.0 This release

1 file

0.0.6

1 file

0.0.4

1 file

0.0.3

3 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page