mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-07 20:54:28 +08:00
* Updated the typehints for itertools. * Removed the overload because it caused problems and cleaned up the imports. * Update itertools.pyi Added back optionality of second argument for itertools.permutations. * Update itertools.pyi Moved the Optional which I accidentially put on the wrong function -.-
62 lines
2.4 KiB
Python
62 lines
2.4 KiB
Python
# Stubs for itertools
|
|
|
|
# Based on http://docs.python.org/3.2/library/itertools.html
|
|
|
|
from typing import (Iterator, TypeVar, Iterable, overload, Any, Callable, Tuple,
|
|
Generic, Optional)
|
|
|
|
_T = TypeVar('_T')
|
|
_S = TypeVar('_S')
|
|
|
|
def count(start: int = ...,
|
|
step: int = ...) -> Iterator[int]: ... # more general types?
|
|
def cycle(iterable: Iterable[_T]) -> Iterator[_T]: ...
|
|
|
|
@overload
|
|
def repeat(object: _T) -> Iterator[_T]: ...
|
|
@overload
|
|
def repeat(object: _T, times: int) -> Iterator[_T]: ...
|
|
|
|
def accumulate(iterable: Iterable[_T], func: Callable[[_T, _T], _T] = ...) -> Iterator[_T]: ...
|
|
|
|
class chain(Iterator[_T], Generic[_T]):
|
|
def __init__(self, *iterables: Iterable[_T]) -> None: ...
|
|
def __next__(self) -> _T: ...
|
|
def __iter__(self) -> Iterator[_T]: ...
|
|
@staticmethod
|
|
def from_iterable(iterable: Iterable[Iterable[_S]]) -> Iterator[_S]: ...
|
|
|
|
def compress(data: Iterable[_T], selectors: Iterable[Any]) -> Iterator[_T]: ...
|
|
def dropwhile(predicate: Callable[[_T], Any],
|
|
iterable: Iterable[_T]) -> Iterator[_T]: ...
|
|
def filterfalse(predicate: Callable[[_T], Any],
|
|
iterable: Iterable[_T]) -> Iterator[_T]: ...
|
|
|
|
@overload
|
|
def groupby(iterable: Iterable[_T]) -> Iterator[Tuple[_T, Iterator[_T]]]: ...
|
|
@overload
|
|
def groupby(iterable: Iterable[_T],
|
|
key: Callable[[_T], _S]) -> Iterator[Tuple[_S, Iterator[_T]]]: ...
|
|
|
|
@overload
|
|
def islice(iterable: Iterable[_T], stop: int) -> Iterator[_T]: ...
|
|
@overload
|
|
def islice(iterable: Iterable[_T], start: int, stop: Optional[int],
|
|
step: int = ...) -> Iterator[_T]: ...
|
|
|
|
def starmap(func: Callable[..., _S], iterable: Iterable[Iterable[Any]]) -> Iterator[_S]: ...
|
|
def takewhile(predicate: Callable[[_T], Any],
|
|
iterable: Iterable[_T]) -> Iterator[_T]: ...
|
|
def tee(iterable: Iterable[_T], n: int = ...) -> Tuple[Iterator[_T], ...]: ...
|
|
def zip_longest(*p: Iterable[Any],
|
|
fillvalue: Any = ...) -> Iterator[Any]: ...
|
|
|
|
def product(*p: Iterable[_T], repeat: int = ...) -> Iterator[Tuple[_T, ...]]: ...
|
|
|
|
def permutations(iterable: Iterable[_T],
|
|
r: Optional[int] = ...) -> Iterator[Tuple[_T, ...]]: ...
|
|
def combinations(iterable: Iterable[_T],
|
|
r: int) -> Iterable[Tuple[_T, ...]]: ...
|
|
def combinations_with_replacement(iterable: Iterable[_T],
|
|
r: int) -> Iterable[Tuple[_T, ...]]: ...
|