当前位置: 首页 > 面试题库 >

Python-迭代器、iterable和iteration到底是什么?

谢承
2023-03-14
问题内容

Python中"iterable","iterator" and "iteration"的最基本定义是什么?

我已经阅读了多个定义,但是我无法确定确切的含义,因为它仍然不会陷入。

有人可以在外行方面为我提供3个定义的帮助吗?


问题答案:

迭代是一个通用的术语,用于一个接一个地获取某物的每一项。无论何时使用显式或隐式循环遍历一组项,即迭代。
在Python中,iterableiterator有特定的含义。
iterable是一个具有返回迭代器的iter方法的对象,或者定义一个可以从零开始获取顺序索引的getitem方法的对象(当索引不再有效时引发索引器错误)。因此iterable是一个可以从中获取迭代器的对象。
迭代器是一个带有next(Python 2)或Python 3方法的对象。
无论何时在Python中使用for循环、映射或列表理解等,都会自动调用next方法从迭代器中获取每个项,从而完成迭代过程。




 类似资料:
  • 问题内容: 有客观定义吗?它是作为python源代码的一部分实现的吗?如果是这样,有人可以产生确切的代码行吗?是否所有语言都有自己的“ for”语句迭代器协议? 问题答案: 它位于这里的文档: 需要为容器对象定义一种方法以提供迭代支持: 返回一个迭代器对象。需要该对象支持以下所述的迭代器协议。如果容器支持不同类型的迭代,则可以提供其他方法来专门请求那些迭代类型的迭代器。(支持多种形式的迭代的对象的

  • 迭代 Stylus允许你通过for/in对表达式进行迭代形式如下: for <val-name> [, <key-name>] in <expression> 例如: body for num in 1 2 3 foo num 生成: body { foo: 1; foo: 2; foo: 3; } 下面这个例子演示了如何使用<key-name>: body fonts

  • 什么是迭代? 例子: for a in b.value(): pass for x, y in de.items(): pass 字符串也可以 for a in 'abcv': pass 如何判断是否可以迭代 请看代码 from collections import Iterable isinstance('abc', Iterable) True 这里就引出了

  • 本文向大家介绍一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念,包括了一篇文章彻底搞懂Python中可迭代(Iterable)、迭代器(Iterator)与生成器(Generator)的概念的使用技巧和注意事项,需要的朋友参考一下 前言 在Python中可迭代(Iterable)、迭代器(Iterator)和生成器(Gener

  • 背景:我最近写了一个答案,建议编写以下代码: 经过一番思考,我说:“我实际上不需要这里的列表,我只需要一个<代码>Iterable (对于这个问题,我将其提取到一个局部变量,我想在最后内联完成。) 很遗憾,如果没有其他类型提示,则无法编译: 当然,添加一些类型提示可以实现这一点: 据我所知,Java编译器执行以下操作: 它查看表达式的目标类型,它是可编辑的 有趣的是,如果我将lambda的目标更改

  • 本文向大家介绍迭代器 Iterator 是什么?相关面试题,主要包含被问及迭代器 Iterator 是什么?时的应答技巧和注意事项,需要的朋友参考一下 terator 接口提供遍历任何 Collection 的接口。我们可以从一个 Collection 中使用迭代器方法来获取迭代器实例。迭代器取代了 Java 集合框架中的 Enumeration,迭代器允许调用者在迭代过程中移除元素。