Enumerable¶
pydantic_linq.Enumerable ¶
Enumerable(source: Iterable[T] = ())
Bases: Generation[T], Filtering[T], Projection[T], Partitioning[T], Concatenation[T], Sets[T], Sorting[T], GroupingOps[T], Joining[T], Element[T], Quantifiers[T], Equality[T], Aggregation[T], Conversion[T]
IEnumerable
aggregate ¶
aggregate(func: Callable[[T, T], T]) -> T
aggregate(seed: A, func: Callable[[A, T], A]) -> A
aggregate(seed: A, func: Callable[[A, T], A], result_selector: Callable[[A], R]) -> R
aggregate(*args: Any) -> Any
aggregate_by ¶
aggregate_by(key_selector: Callable[[T], K], seed: A, func: Callable[[A, T], A]) -> Enumerable[tuple[K, A]]
.NET 9 AggregateBy; yields (key, accumulate) tuples in place of KeyValuePair.
cast ¶
cast(type_: type[U], *, strict: bool = False) -> Iterator[U]
Cast
element_at ¶
element_at(index: int) -> T
ElementAt(int) or ElementAt(Index): a negative index counts from the end (^n).
except_ ¶
except_(second: Iterable[T]) -> Enumerable[T]
Except (trailing underscore: except is a keyword).
first_or_default ¶
first_or_default(predicate: Callable[[T], bool] | None = None, default: T | None = None) -> T | None
group_by ¶
group_by(key_selector: Callable[[T], K]) -> Enumerable[Grouping[K, T]]
group_by(key_selector: Callable[[T], K], element_selector: Callable[[T], E]) -> Enumerable[Grouping[K, E]]
group_by(key_selector: Callable[[T], K], element_selector: Callable[[T], E] | None = None, *, result_selector: Callable[[K, Enumerable[E]], R]) -> Enumerable[R]
group_by(key_selector: Callable[[T], Any], element_selector: Callable[[T], Any] | None = None, *, result_selector: Callable[[Any, Enumerable[Any]], Any] | None = None) -> Enumerable[Any]
group_join ¶
group_join(inner: Iterable[I], outer_key_selector: Callable[[T], K], inner_key_selector: Callable[[I], K], result_selector: Callable[[T, Enumerable[I]], R]) -> Iterator[R]
infinite_sequence
staticmethod
¶
infinite_sequence(start: int, step: int) -> Enumerable[int]
.NET 10 Enumerable.InfiniteSequence.
join ¶
join(inner: Iterable[I], outer_key_selector: Callable[[T], K], inner_key_selector: Callable[[I], K], result_selector: Callable[[T, I], R]) -> Iterator[R]
last_or_default ¶
last_or_default(predicate: Callable[[T], bool] | None = None, default: T | None = None) -> T | None
left_join ¶
left_join(inner: Iterable[I], outer_key_selector: Callable[[T], K], inner_key_selector: Callable[[I], K], result_selector: Callable[[T, I | None], R]) -> Iterator[R]
Unmatched outer elements pair with None.
order_by ¶
order_by(key_selector: Callable[[T], Any], comparer: Comparer | None = None) -> OrderedEnumerable[T]
order_by_descending ¶
order_by_descending(key_selector: Callable[[T], Any], comparer: Comparer | None = None) -> OrderedEnumerable[T]
right_join ¶
right_join(inner: Iterable[I], outer_key_selector: Callable[[T], K], inner_key_selector: Callable[[I], K], result_selector: Callable[[T | None, I], R]) -> Iterator[R]
Unmatched inner elements pair with None.
select_many ¶
select_many(selector: Callable[[T], Iterable[U]]) -> Enumerable[U]
select_many(selector: Callable[[T], Iterable[C]], result_selector: Callable[[T, C], U]) -> Enumerable[U]
select_many(selector: Callable[[T], Iterable[Any]], result_selector: Callable[[T, Any], Any] | None = None) -> Enumerable[Any]
sequence
staticmethod
¶
sequence(start: int, end_inclusive: int, step: int) -> Enumerable[int]
.NET 10 Enumerable.Sequence.
single_or_default ¶
single_or_default(predicate: Callable[[T], bool] | None = None, default: T | None = None) -> T | None
take ¶
take(count: int | slice) -> Enumerable[T]
Take(int) or Take(Range): pass a slice for ranges; negative bounds count from the end (^n).
to_async_enumerable ¶
to_async_enumerable() -> AsyncEnumerable[T]
ToAsyncEnumerable: enter the async operators.
to_dictionary ¶
to_dictionary(key_selector: Callable[[T], K]) -> dict[K, T]
to_dictionary(key_selector: Callable[[T], K], element_selector: Callable[[T], E]) -> dict[K, E]
to_dictionary(key_selector: Callable[[T], Any], element_selector: Callable[[T], Any] | None = None) -> dict[Any, Any]
to_lookup ¶
to_lookup(key_selector: Callable[[T], K]) -> Lookup[K, T]
to_lookup(key_selector: Callable[[T], K], element_selector: Callable[[T], E]) -> Lookup[K, E]
to_lookup(key_selector: Callable[[T], Any], element_selector: Callable[[T], Any] | None = None) -> Lookup[Any, Any]
zip ¶
zip(second: Iterable[S]) -> Enumerable[tuple[T, S]]
zip(second: Iterable[S], third: Iterable[U]) -> Enumerable[tuple[T, S, U]]
zip(*others: Iterable[Any]) -> Enumerable[tuple[Any, ...]]
zip_with ¶
zip_with(second: Iterable[S], result_selector: Callable[[T, S], R]) -> Iterator[R]
Zip(second, resultSelector).
pydantic_linq.OrderedEnumerable ¶
OrderedEnumerable(source: Iterable[T], keys: tuple[SortKey[T], ...])
Bases: Enumerable[T]
IOrderedEnumerable