迭代
如果给定一个tuple/list,我们可以通过for循环来遍历这个list/tuple,这种遍历我们称为迭代。任何可迭代的对象都可以用for来遍历。
dict.items()
可以将dict转换为list
列表生成式
python内置的,可以用来快速创建list的生成式
[x + y for x in "abc" for y in "123"]
生成器
可以一边循环,一边计算的机制。generator保存的算法。
generator也是一个可迭代对象!
g = (x * x for x in range(1,11))
generator提供next()方法来获取下一个元素值:
next(g)
yield:
如果一个函数中包含yield关键字,那么这个函数就不再是一个普通函数,而是一个generator!
迭代器:iterator
python的迭代器(iterator)对象表示的是一个数据流,iterator对象可以被next()函数调用并不断返回下一个数据,知道没有数据时抛出StopIteration错误。
可以把这个数据流看作成是一个有序序列,但是我们不能提前知道序列的大小,只能不断通过next()函数实现按需计算下一个数据,所以Iterator的计算是惰性的,只有在需要返回下一个数据时它才会计算。
可迭代对象(iterable)
|--迭代器 iterator
| |--生成器 generator
|--字符串 str
|--列表 list
|--元组 tuple
|--集合 set
|--字典 dict
生成器隶generator属于迭代器iterator。生成器的优势:节省内存、代码简洁
iter()
可快速将可迭代对象转换为迭代器
本文深入解析Python中的迭代概念,包括如何使用for循环遍历各种数据结构,如列表、元组、字典等。详细讲解了dict.items()的使用,列表生成式的便捷性,以及生成器的实现原理和优势。探讨了迭代器与生成器的关系,以及如何利用iter()函数将可迭代对象转换为迭代器。
8173

被折叠的 条评论
为什么被折叠?



