Skip to content

Latest commit

 

History

History
133 lines (127 loc) · 2.59 KB

README.md

File metadata and controls

133 lines (127 loc) · 2.59 KB

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