Skip to content

Commit c628cd1

Browse files
Merge pull request #1042 from gnoack/patch-1
5-ary and 6-ary izip
2 parents d4c54f9 + b621b2f commit c628cd1

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

stdlib/2/itertools.pyi

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,8 @@ _T1 = TypeVar('_T1')
4747
_T2 = TypeVar('_T2')
4848
_T3 = TypeVar('_T3')
4949
_T4 = TypeVar('_T4')
50+
_T5 = TypeVar('_T5')
51+
_T6 = TypeVar('_T6')
5052

5153
@overload
5254
def imap(func: Callable[[_T1], _S], iter1: Iterable[_T1]) -> Iterator[_S]: ...
@@ -71,7 +73,20 @@ def izip(iter1: Iterable[_T1], iter2: Iterable[_T2],
7173
@overload
7274
def izip(iter1: Iterable[_T1], iter2: Iterable[_T2], iter3: Iterable[_T3],
7375
iter4: Iterable[_T4]) -> Iterator[Tuple[_T1, _T2,
74-
_T3, _T4]]: ... # TODO more than four iterables
76+
_T3, _T4]]: ...
77+
@overload
78+
def izip(iter1: Iterable[_T1], iter2: Iterable[_T2],
79+
iter3: Iterable[_T3], iter4: Iterable[_T4],
80+
iter5: Iterable[_T5]) -> Iterator[Tuple[_T1, _T2,
81+
_T3, _T4, _T5]]: ...
82+
@overload
83+
def izip(iter1: Iterable[_T1], iter2: Iterable[_T2],
84+
iter3: Iterable[_T3], iter4: Iterable[_T4],
85+
iter5: Iterable[_T5], iter6: Iterable[_T6]) -> Iterator[Tuple[_T1, _T2, _T3,
86+
_T4, _T5, _T6]]: ...
87+
# TODO more than 6 iterables
88+
# TODO should have a fallback for the n-ary variant
89+
7590
def izip_longest(*p: Iterable[Any],
7691
fillvalue: Any = ...) -> Iterator[Any]: ...
7792

0 commit comments

Comments
 (0)