python 中迭代和遍历的区别

什么是迭代?

迭代就是重复运行一段代码语句块的能力。分为两种方式python

  1. 使用递归函数
  2. 使用循环(forwhile 循环)

假设有个需求,要按照降序打印10如下(包括10),0 以上的整数,用递归和循环均可以实现,但都要重复运行一段代码语句,就是迭代。函数

递归函数实现

先看使用递归函数如何实现code

def countdown(n):
  if n>0:
    print(n)
    countdown(n-1)
  else:
    print('It\'s over!')

countdown(10)

从上面代码中咱们定义一个函数 countdown, 每打印一个数字,这个函数就会重复运行一次,也就是迭代一次。递归

循环实现 (for 和 while 循环)

先看代码class

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 循环来实现的,也就是迭代来实现的。
固然也能够不经过迭代来实现,一个一个按照下标打印出来,也能遍历,不过效率过低了。总结

总结

遍历是目的,迭代是手段。while

相关文章
相关标签/搜索