gpt4 book ai didi

python - 键入Hint可进行有限迭代

转载 作者:行者123 更新时间:2023-12-03 16:15:32 25 4
gpt4 key购买 nike

我的函数foo接受参数things,该参数在内部被转换为列表。

def foo(things):
things = list(things)
# more code
list构造函数接受任何可迭代的。

但是,用 things注释 typing.Iterable不会为用户提供一个线索,即可迭代的对象必须是有限的,而不是像 itertools.count()这样的东西。

在这种情况下使用的正确类型提示是什么?

最佳答案

我不知道在Python中实现此目标的任何可能方法,因为您无法在类型提示中提供此类约束。

但是,作为解决方法, Collection 类型可能在您的上下文中很有用:

class collections.abc.Collection

ABC for sized iterable container classes.



这要求对象具有 __len__,这比有限要严格。例如,有限生成器不算作 Collection

关于python - 键入Hint可进行有限迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61155366/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com