Skip to content

super-string/pylinqext

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub GitHub release (latest by date) GitHub tag (latest by date) Downloads

pylinqext

pylinqext is a package for C#er to write code like LINQ.

Usage

from pylinqext import pylist
from pylinqext import enumerable
  
e = enumerable([1,2,3,4,5,6,7,8,9,0])
  
e.where(lambda x: x % 2 == 0)\
        .select(lambda x: x * x)\
        .where(lambda x: 30 < x)\
        .to_pylist()\
        .for_each(lambda x: print(x))

Output:

36
64
from pylinqext import enumerable, pydict

d = pydict({1:1, 2:4, 3:9})
d.items()\
    .where(lambda x: x[0] >= 2)\
    .to_pydict(lambda x:x[0], lambda x:x[1])\
    .for_each(lambda k,v: print(f"key={k},value={v}"))

Output:

key=2,value=4
key=3,value=9

Install

pip install pylinqext

Version

  • v0.0.1-alpha
    • first commit
  • v0.0.2
    • implement single, aggregate, etc
  • v0.0.3
    • readonlylist, some methods
  • v0.5.0
    • rename project to pylinqext
  • v0.5.1
    • enumerable
      • implement to_pydict()
    • pydict
      • items() / keys() / values() return pylist
      • copy() return pydict

class

  • enumerable
  • pylist
  • pydict
  • pyreadonlylist

Support

〇:implemented
△:not implemented
×:not suppot

Support Method Memo
aggregate
all
any
append
as_enumerable implemented to pylist
average
× cast
chunk
concat
contains
count
× default_if_empty
distinct
distinct_by
element_at
element_at_or_default
× empty
except named:set_difference
except_by named:set_difference_by
first
first_or_default
× group_by
× group_join
intersect
intersect_by
max
max_by
min
min_by
of_type
× order
× order_by
× order_by_descending
× order_descending
prepend
range
repeat
reverse
select
select_many
× sequential_equal
single
single_or_default
skip
skip_last
skip_while
sum
take
take_last
take_while
× then_by
× then_by_descending
× to_array
to_dict
to_set
to_list use to_pylist to write method chain.
× to_lookup
to_readonly_list
union
union_by
where
zip