集合系関数はいったん対応優先度相当落とすことにしました。
めんどくさすぎる。
ちょろちょろ改良+追加実装してv0.0.3になりました。
GitHub - super-string/pylinq: LINQ for python
pylinq
pylinq is a package for C#er to write code like LINQ.
Usage
from pylinq import pylist from pylinq 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
Install
pip install git+https://github.com/super-string/pylinqext
Version
- v0.0.1-alpha
- first commit
- v0.0.2
- implement single, aggregate, etc
- v0.0.3
- readonlylist, some methods
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 |