当前位置: 首页 > news >正文

list与iterator的之间的区别,如何用斐波那契数列探索yield

  1. 问题

  1. list与iterator的之间的区别是什么?

  2. 如何用斐波那契数列探索yield?

2 方法

将数据转换成list,通过对list索引和切片操作,以及可以进行添加、删除和修改元素。
eac73231f3111c8fef9f4f8e8620e30e.png

  1. iterator是一种对象,用于遍历可迭代对象(如列表、元组或字典)。迭代器只能向前遍历,不支持索引和切片操作。通过调用next()函数,可以逐个获取迭代器中的元素。
    bc17d43d1c4d0f46669d3af0fb70eba0.png

  2. 如何用斐波那契数列探索yield?


    34aac82bb39cfbddc6075d2a05bc117d.png

  3. 代码

my_list = [1, 2, 3, 4, 5]
# 1、访问list元素
print(my_list[0])  
# 2、遍历list元素
for element in my_list:
   print(element)  
# 3、iterator的使用
my_iterator = iter(my_list)
# 访问iterator元素
print(next(my_iterator))  #
# 4、遍历iterator元素
for element in my_iterator:
   print(element)
# 1、简单输出斐波那契數列前 N 个数
def fab(max):
   n, a, b = 0, 0, 1
   while n < max:
       print(b)
       a, b = b, a + b
       n = n + 1
# fab(5)
# 2、使用yield输出斐波那契數列前 N 个数
def fab(max):
   n, a, b = 0, 0, 1
   while n < max:
       yield b
       # print b
       a, b = b, a + b
       n = n + 1
for n in fab(5):
   print(n)

3 结语

针对list与iterator的之间的区别是什么?和如何探索yield问题,我们小组提出探索斐波那契数列方法,通过对斐波那契数列输出,来感受迭代器iterator和生成器函数yield的含义,通过对结果的输出,证明该方法是有效的。但是我们在探索迭代器iterator和生成器函数yield时。采用的是小数据的输出。在处理大型数据集合时,使用迭代器比使用列表更有效率,因为迭代器只在需要时生成元素。而列表需要在内存中存储整个数据集合。这次的实验则没有采用大数据的输入。则没有更细致的探索到生成器函数yield的用法。

http://www.lryc.cn/news/475986.html

相关文章:

  • 抖音店铺数据也就是抖店,如何使用小店数据集来挖掘价值?
  • KubeVirt 安装和配置 Windows虚拟机
  • CM API方式设置YARN队列资源
  • Mysql常用语法一篇文章速成
  • Intel nuc x15 重装系统步骤和注意事项(LAPKC71F、LAPKC71E、LAPKC51E)
  • Linux之实战命令59:iwlist应用实例(九十三)
  • 数据库_SQLite3
  • .Net Framework里演示怎么样使用StringBuilder、Math.Min和String.Format
  • Oracle创建存储过程,创建定时任务
  • <HarmonyOS第一课>应用/元服务上架的课后习题
  • 【Python】探索函数的奥秘:从基础到高级的深度解析(下)
  • ima.copilot:智慧因你而生
  • Vue-$el属性
  • LLC Power Switches and Resonant Tank 笔记
  • Python 如何在 Web 环境中使用 Matplotlib 进行数据可视化
  • C#-数组:一维数组、二维数组、交错数组
  • 动态规划应该如何学习?
  • 【力扣 + 牛客 | SQL题 | 每日4题】牛客SQL热题210,213,212,219
  • Qt 应用开发之 MVC 架构
  • python之字符串总结
  • Flutter鸿蒙next 封装 Dio 网络请求详解:登录身份验证与免登录缓存
  • sql server复制一张表(表结构或表数据)SQL语句整理
  • c语言-进位计数制
  • 记本地第一次运行seatunnel示例项目
  • Threejs 实现 VR 看房完结
  • 找出目标值在数组中的开始和结束位置(二分查找)
  • VSCode进阶之路
  • leetcode-21-合并两个有序链表
  • SSM项目部署到服务器
  • 【Linux】网络编程:初识协议,序列化与反序列化——基于json串实现,网络通信计算器中简单协议的实现、手写序列化与反序列化