什么是迭代?
迭代就是重复运行一段代码语句块的能力. 分为两种方式
使用递归函数
使用循环 (for 或 while 循环)
假设有个需求, 要按照降序打印 10 以下 (包括 10),0 以上的整数, 用递归和循环都可以实现, 但都要重复运行一段代码语句, 就是迭代.
递归函数实现
先看使用递归函数如何实现
- def countdown(n):
- if n>0:
- print(n)
- countdown(n-1)
- else:
- print('It\'s over!')
- countdown(10)
从上面代码中我们定义一个函数 countdown, 每打印一个数字, 这个函数就会重复运行一次, 也就是迭代一次.
循环实现 (for 和 while 循环)
先看代码
- for i in range(10, 0, -1):
- print(i)
- n = 10
- while n>0:
- print(n)
- n = n-1
不论是 for 还是 while, 执行流程都会执行完语句体, 之后再从语句体的最开头循环执行, 每执行一次也称为迭代一次.
什么是遍历?
举个栗子, 假设有一个列表 list=['a','b','c'], 我们要打印出它所有的元素, 这就叫一次遍历.
是指对一个序列中的所有元素都执行动作, 就叫做遍历.
例如对上面 list 的遍历
- list = ['a', 'b', 'c']
- for i in list:
- print(i)
从实现代码可看出, 这次遍历是通过 for 循环来实现的, 也就是迭代来实现的.
当然也可以不通过迭代来实现, 一个一个按照下标打印出来, 也能遍历, 不过效率太低了.
总结
遍历是目的, 迭代是手段.
来源: https://www.cnblogs.com/reycg-blog/p/9901866.html