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

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

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

2 方法

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

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

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

  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的用法。

相关推荐
小欣加油2 分钟前
leetcode 912 排序数组(归并排序)
数据结构·c++·算法·leetcode·排序算法
zl_dfq1 小时前
数据结构 之 【模拟实现哈希表】
数据结构
苏小瀚9 小时前
[数据结构] ArrayList(顺序表)与LinkedList(链表)
数据结构
Kevinhbr13 小时前
CSP-J/S IS COMING
数据结构·c++·算法
Armyyyyy丶13 小时前
Redis底层实现原理之五大基础结构
数据结构·redis·缓存
金古圣人14 小时前
hot100 滑动窗口
数据结构·c++·算法·leetcode·哈希算法
JJJJ_iii14 小时前
【左程云算法03】对数器&算法和数据结构大致分类
数据结构·算法·分类
天选之女wow17 小时前
【代码随想录算法训练营——Day4】链表——24.两两交换链表中的节点、19.删除链表的倒数第N个节点、面试题02.07.链表相交、142.环形链表II
数据结构·算法·leetcode·链表
胡萝卜3.017 小时前
数据结构初阶:树的相关性质总结
数据结构·二叉树·性质·二叉树的性质
KarrySmile17 小时前
Day12--HOT100--23. 合并 K 个升序链表,146. LRU 缓存,94. 二叉树的中序遍历
数据结构·链表·二叉树·递归·hot100·lru·灵茶山艾府