python的迭代特别好用
- 何为迭代。顾名思义,迭代是重复有规律的做同一件事。英文是Iteration在代码中一般表现为循环,当我们要循环遍历一个List或Tuple时,就要用到迭代,类似于输出数组元素。
- 和C的对比。C语言循环输出,没有python简单
for (i=0; i<list.length; i++) { n = list[i]; }
- python的迭代。非常灵活,语法for...in...,只要是对象可以迭代,那么for循环就可以正常运行,那么如何判断一个对象可否迭代?python可以导入collection模块的Iterable来实现判断:
>>Truefrom collections import Iterable<pre name="code" class="html">isinstance('abc',Iterable)
>>Falseisinstance(123,Iterable)
单变量迭代输出。<pre name="code" class="python">for ch in 'abc': <span style="white-space:pre"> </span>print(ch)
注意,因为dict不是按照list顺序迭代的,所以输出结果不一样dict迭代。<pre name="code" class="html">d = {'a': 1, 'b': 2, 'c': 3} for key in d: <span style="white-space:pre"> </span>print(key)<pre name="code" class="html">>>a c b
有下标的输出。python内置函数enumerate(),将list变成索引-元素对<pre name="code" class="html">for i, value in enumerate(['A', 'B', 'C']): <span style="white-space:pre"> </span>print(i, value) 0 A 1 B 2 C