首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python Iterable vs序列

Python Iterable vs序列
EN

Stack Overflow用户
提问于 2022-05-08 00:36:57
回答 2查看 5.3K关注 0票数 29

当我暗示IterableSequence时,我不明白两者的区别。

这两者之间的主要区别是什么?什么时候使用哪一种?

我认为set是一个Iterable而不是Sequence,有什么内置的数据类型是Sequence而不是Iterable吗?

代码语言:javascript
复制
def foo(baz: Sequence[float]):
  ...

# What is the difference?
def bar(baz: Iterable[float]):
  ...
EN

Stack Overflow用户

回答已采纳

发布于 2022-05-08 04:34:32

SequenceIterable抽象基类(也可以用作类型注释)遵循序列可迭代的定义。具体而言:

  • Iterable是定义__iter__ __getitem__的任何对象。
  • Sequence是定义__getitem____len__的任何对象。根据定义,任何序列都是可迭代的。Sequence类还定义了其他方法,如调用两个必需方法的__contains____reversed__

下面是一些例子:

  • listtuplestr是最常见的序列。
  • 一些内置的迭代器不是序列。例如,reversed返回不能订阅的reversed对象(或列表的list_reverseiterator )。
票数 25
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72157296

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档