list与iterator的之间的区别,如何用斐波那契数列探索yield
问题
list与iterator的之间的区别是什么?
如何用斐波那契数列探索yield?
2 方法
将数据转换成list,通过对list索引和切片操作,以及可以进行添加、删除和修改元素。
iterator是一种对象,用于遍历可迭代对象(如列表、元组或字典)。迭代器只能向前遍历,不支持索引和切片操作。通过调用next()函数,可以逐个获取迭代器中的元素。
如何用斐波那契数列探索yield?
代码
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的用法。