TypeError: iter() returned non-iterator of type

2023-05-16

在使用Python迭代器时出现错误:

class Fibs:
      def __init__(self):
            self.a = 0
            self.b = 1
      def next(self):
            self.a,self.b = self.b,self.a + self.b
            return self.a
      def __iter__(self):
            return self

fibs = Fibs()
for f in fibs:
if f > 1000:
print(f)
break

Traceback (most recent call last):
  File "<pyshell#74>", line 1, in <module>
    for f in fibs:
TypeError: iter() returned non-iterator of type 'Fibs' 

我使用的python的版本是3.0,在Python3.0中迭代器的规则原来是发生了一些变化的。在新的迭代器规则中,迭代器对象应该实现__next__方法,而不是next。而新的内建函数next可以用于访问这个方法。

class Fibs:
      def __init__(self):
            self.a = 0
            self.b = 1
      def __next__(self):
            self.a,self.b = self.b,self.a + self.b
            return self.a
      def __iter__(self):
            return self

fibs = Fibs()
for f in fibs:
if f > 1000:
print(f)
break
1597

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

TypeError: iter() returned non-iterator of type 的相关文章

  • scipy.optimize.curve_fit,TypeError:不支持的操作数类型

    我已经进行了搜索 问题似乎类似于Python scipy 或 pow 不支持的操作数类型 list 和 list https stackoverflow com questions 9156208 python scipy unsuppor
  • 从迭代器返回对象的引用

    我想从向量返回对象的引用 并且该对象位于迭代器对象中 我怎样才能做到这一点 我尝试了以下方法 Customer CustomerDB getCustomerById const string id vector
  • C++ 错误:转换为非标量类型 [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我似乎在以
  • STL 容器迭代器的模板专门化?

    我正在尝试编写一个类似于的模板函数std to string适用于基本类型以及 STL 容器的迭代器 但我不确定如何编写足够具体的模板来仅识别迭代器 到目前为止我尝试的是尝试使用iteratorSTL 容器中的 typedef templa
  • 如何为集合提供带有迭代器的 const 接口?

    我想创建一个具有如下签名的函数 Set found to be an iterator to the location of key in map or end if not found bool lookup const Key key
  • C++、多态性和迭代器

    我想要一个存储接口 抽象类 和一组存储实现 SQLite MySQL Memcached 用于存储已知类的对象并从存储中检索子集 对我来说 清晰的界面是 class Storable int id blah blah blah string
  • 通用 C++ 多维迭代器

    在我当前的项目中 我正在处理多维数据结构 底层文件按顺序存储 即一个巨大的数组 没有向量的向量 使用这些数据结构的算法需要知道各个维度的大小 我想知道是否已在某处以通用方式定义了多维迭代器类 以及是否有任何标准或首选方法来解决此问题 目前
  • Scala dropWhile 与过滤器

    val xs Iterator from 1 dropWhile 2 0 takeWhile lt 10 toList val ys Iterator from 1 filter 2 0 takeWhile lt 10 toList pri
  • 有没有更好的方法在字符串列表上使用 strip() ? - 蟒蛇[重复]

    这个问题在这里已经有答案了 现在我一直在尝试对字符串列表执行 strip 我这样做了 i 0 for j in alist alist i j strip i 1 有更好的方法吗 你可能不应该使用list作为变量名 因为它是一种类型 不管
  • Python 中的循环列表迭代器

    我需要迭代一个循环列表 可能很多次 每次都从最后访问的项目开始 用例是连接池 客户端请求连接 迭代器检查指向的连接是否可用并返回它 否则循环直到找到可用的连接 我怎样才能在Python中巧妙地做到这一点 If you instead nee
  • Javascript:使用非连续键迭代数组

    我需要迭代一个键不连续的数组 var messages new Array messages 0 This is the first message messages 3 This is another message 显然 使用 for
  • 类型错误:write() 参数必须是 str,而不是 _io.TextIOWrapper

    如何将一个文件复制到另一个文件 我使用的代码是 FileX open X txt r FileY open Y txt w X FileX FileY write FileX FileX close FileY close 这给出了错误 T
  • 在 Rust 中将递归函数转换为迭代器的技术?

    我正在努力将一个简单的递归函数变成一个简单的迭代器 问题在于递归函数在其局部变量和调用堆栈中维护状态 将其转换为 Rust 迭代器意味着基本上将所有函数状态外部化为某些自定义迭代器结构上的可变属性 这是一个相当混乱的尝试 在 javascr
  • Julia 自定义类型分配

    我尝试从 Julia 中的自定义类型分配多个元素 但是我不知道该怎么做 或者换句话说 我想重载赋值运算符以返回该类型中包含的所有元素的元组 这是所需的行为 type foo a b end a b foo 1 2 a gt 1 这是错误消息
  • 编写迭代器[重复]

    这个问题在这里已经有答案了 编者注 此代码示例来自 Rust 1 0 之前的版本 不是有效的 Rust 1 0 代码 此代码的更新版本不再因更改方式而产生错误for循环被实现 我正在用 Rust 编写一个 Vector 结构 pub str
  • 删除元素时映射迭代器如何失效? [复制]

    这个问题在这里已经有答案了 使用擦除方法时 迭代器何时以及如何在映射中失效 例如 std map lt int int gt aMap aMap 33 1 aMap 42 10000 aMap 69 100 aMap 666 1 std m
  • 流Vs。 Map 的 EntrySet 中的迭代器 - Java 8

    据我了解 以下代码应该打印true 因为两者Stream and Iterator指向第一个元素 但是 当我运行以下代码时 它正在打印false final HashMap
  • C++迭代器和反向迭代器

    我正在写一个iterator 实际上是const iterator对于我当前的对象 我还想创建一个reverse const iterator also 我环顾四周 想看看如何做到这一点 然后我偶然发现this http www cplus
  • Julia - 迭代字典中的键组合

    有没有一种巧妙的方法来迭代字典中的键组合 我的字典有这样的值 1 gt 1 2 2 3 gt 15 3 gt 6 7 8 4 9 11 gt 3 我需要做的是获取所有长度的键组合1 n where n可能是FX 3 就像上面的例子一样 我想
  • 迭代 std 容器中的所有元素对 (C++)

    迭代 std 容器中所有元素对的最佳方法是什么std list std set std vector etc 基本上与此等效 但使用迭代器 for int i 0 i lt A size 1 i for int j i 1 j lt A s

随机推荐

  • 四轴思路(持续更新)

    遥控器 xff1a 发送数据 MPU6050 xff1a 加速度做一维卡尔曼滤波 xff0c 角速度做一介低通滤波 然后四元数姿态解算 接着串级PID控制平衡 xff0c 外环角度环 xff0c 内环角速度环 高度控制 xff1a 高度和速
  • QT 上位机(网络通信)

    Client类 span class hljs comment span class hljs xmlDocTag span span class hljs xmlDocTag span span class hljs xmlDocTag
  • win10系统如何通过ssh远程登录另一台电脑的deepin linux系统

    1 首先 xff0c 更新一下软件源 xff0c 打开 终端窗口 xff0c 输入 sudo apt get update 2 然后 xff0c 在终端中 xff0c 输入 sudo apt get install openssh serv
  • 基于STM32与ESP8266的太空人WiFi天气时钟(代码开源)

    前言 xff1a 本文为手把手教学ESP8266著名开源项目 太空人WiFi天气时钟 xff0c 不同的是本次项目采用的是STM32 作为MCU 两者开发过程中有因为各自芯片的特点 xff08 时钟频率 xff0c 内存大小等 xff09
  • make menuconfig错误的解决办法

    如果使用make menuconfig的方式配置内核 xff0c 又碰巧系统没有安装ncurses库 xff08 ubuntu系统 默认就没有安装此库 xff09 xff0c 就会出现错误 xff0c 错误信息大体上如下 xff1a Una
  • FileZilla以root用户登录Linux

    一 首先创建root用户的密码 span class hljs built in sudo span passwd root 然后输入要设置的密码 xff0c 然后再输入一次 xff0c 成功 xff01 二 修改配置文件 filezila
  • px4编译

    如果下载速度特别慢 xff0c 可以使用手机的4G网络 位置确定 mkdir p src cd src 开始下载指定版本的px4 xff0c 在这里是v1 8 2版本 git clone b v1 8 2 https github com
  • px4源码----位置估算(position_estimator_inav_params.h)

    pragma once include lt parameters param h gt struct position estimator inav params float w z baro 权重 z轴 气压计位置 0 5 float
  • ubuntu如何把调整cpu策略

    一 安装cpu频率管理软件 sudo apt get install cpufrequtils 二 查看cpu当前状态 cpufreq info 其中available cpufreq governors xff1a performance
  • 树莓派系统介绍

    树莓派是一个微型计算机 xff0c 和普通的电脑没有什么区别 xff0c 只是体积更小 xff0c 只有卡片大小 xff0c 存储能力和计算能力会差一点 xff0c 主要用于学习 xff0c 实验所用 是电脑就要安装操作系统 xff0c 树
  • 小觅摄像头ROS编译错误

    GitHub slightech MYNT EYE ORB SLAM2 Sample Forked from ORB SLAM2 https github com raulmur ORB SLAM2 Forked from ORB SLAM
  • 华为路由器交换机常用命令(随时补充更新)

    一 视图切换 lt huawei gt 用户视图 huawei 系统视图 xff0c 在用户视图状态下输入sys进入 xff0c 在系统视图下输入quit或者return返回用户视图 huawei g0 0 1 端口视图 xff0c 从系统
  • 01路径规划问题的相关理论

    目录 1 旅行商问题 2 有能力约束的车辆路径问题 3 车辆路径主要要素特征 4 约束条件分析 5 带时间窗的车辆路径问题 6 车辆路径问题求解算法 7 小节 1 旅行商问题 旅行商问题 xff08 Traveling Saleman Pr
  • 时序数据库-3-[IoTDB]的安装与使用

    IoTDB官方文档手册 Apache IoTDB xff08 物联网数据库 xff09 是一体化收集 存储 管理与分析物联网时序数据的软件系统 Apache IoTDB 采用轻量式架构 xff0c 具有高性能和丰富的功能 xff0c 并与A
  • 【强烈推荐】基于STM32的TFT-LCD各种显示实现(内容详尽含代码)

    前言 xff1a TFT LCD模块作为人们日常生活中常见屏幕类型之一 xff0c 使用的受众面非常广阔 例如 xff1a 显示各个传感器数值 xff0c 显示精美界面 xff0c 多级化菜单系统等等都不离不开他的身影 可以说学会TFT L
  • 时序数据库-4-[IoTDB]的python3操作

    从采集到存储 xff1a 时序数据库到底怎么处理时间 xff1f iotdb官方文档手册 1 容器安装iotdb 可以使用docker volume create命令创建 docker 卷 此命令将在 var lib docker volu
  • [汇总]基于ESP32的四旋翼无人机开发纪实

    文章目录 一 项目说明1 已实现功能2 硬件配置 二 ESPlane2 0 开发笔记三 相关传感器驱动移植四 参考链接 ESPlane 项目更名为 ESP Drone 现已公开代码仓库和文档 代码仓库 xff1a https github
  • [填坑]Ubuntu安装显卡专有驱动后鼠标键盘无法使用

    问题描述 我在两个地方遇到了同样的问题 xff0c 解决方法也如出一辙 xff0c 由于没有研究源码 xff0c 暂不清楚原因 问题1描述 xff1a 为了解决Ubuntu下笔记本功耗问题 xff0c 在网友建议下我安装了bumblebee
  • uniapp-前后端开发app-系列01开篇

    系列文章目录 文章目录 系列文章目录前言一 开发工具 xff1f 二 项目架构三 具体内容实现 前言 提示 xff1a 这里可以添加本文要记录的大概内容 xff1a 随着app和小程序的发展 有没有开发一个模版 其他端程序都能用 uniap
  • TypeError: iter() returned non-iterator of type

    在使用Python迭代器时出现错误 xff1a class Fibs def init self self a 61 0 self b 61 1 def next self self a self b 61 self b self a 43