Iterable without side effect 类型注解
Iterable without side effect type annotation
我正在寻找 Iterable
可以无副作用地进行迭代。
例如,我想注释下面的参数 x
:
def foo(x: NoSideEffectIterable[int]):
for i in range(10):
for xx in x: # x is iterated 10 times here
print(i*xx)
Iterable
不适合,因为 x
迭代了不止一次
Sequence
不适合因为 x
的顺序无关紧要
如何标注x
?
试试 Iterator[int]
。 Python 中的迭代器是迭代一次后被消耗的迭代器。希望对你有帮助
没有注释。这不是类型系统可以表达的概念。 Iterable
是您最好的选择。如果你想得到更多的限制,你可以使用 Collection
,但是 Iterable
表达的要求比你想要的少,Collection
表达的更多。
我正在寻找 Iterable
可以无副作用地进行迭代。
例如,我想注释下面的参数 x
:
def foo(x: NoSideEffectIterable[int]):
for i in range(10):
for xx in x: # x is iterated 10 times here
print(i*xx)
Iterable
不适合,因为x
迭代了不止一次Sequence
不适合因为x
的顺序无关紧要
如何标注x
?
试试 Iterator[int]
。 Python 中的迭代器是迭代一次后被消耗的迭代器。希望对你有帮助
没有注释。这不是类型系统可以表达的概念。 Iterable
是您最好的选择。如果你想得到更多的限制,你可以使用 Collection
,但是 Iterable
表达的要求比你想要的少,Collection
表达的更多。