python 遍历可迭代对象的实现方法
&星火 人气:0可迭代(iterable)
迭代(遍历)就是按照某种顺序逐个访问对象中的每一项。
Python中有很多对象都是可以通过for语句来直接遍历的,例如list、string、dict等,这些对象都是可迭代的,被称为可迭代对象。
可以将可迭代对象想象成一个容器,里面存放了有限个元素,并且每个元素都可以从中获取出来。那么这个容器就是可迭代的,这个容器就是可迭代对象。
所有的可迭代对象都需要实现__iter__方法,该方法就是用于当我们在循环时将可迭代对象转换成迭代器的。
迭代器(iterator)
迭代器是可迭代对象的一个子集。是一个可以记住遍历的位置的对象,它与列表、元组、集合、字符串这些可迭代对象的区别就在于__next__()方法的实现。也就是通过该方法可以一个个的将元素取出来。即遍历可迭代对象的方法就为迭代器。
迭代器支持__iter__()和__next__()方法。其中:iter()方法返回迭代器对象本身,而可迭代对象的该方法则返回其迭代器。
next()方法返回容器的下一个元素,在结尾时引发StopIteration异常。
方法1:使用for循环简单结构遍历
对迭代对象直接for循环遍历
li=[1,2,3,4] li2=[5,6,7,8] for i in li2: li.append(i) print(li)
[1, 2, 3, 4, 5, 6, 7, 8]
方法2:借用 range() 和 len() 函数遍历
这种方法可以使用数组中常用的alist[i]来遍历列表
li=[1,2,3,4] li2=[5,6,7,8] for i in range(len(li2)): li.append(li2[i]) print(li)
[1, 2, 3, 4, 5, 6, 7, 8]
方法3:借用 iter() 函数遍历
这种方法是利用迭代器的思想,迭代器是一个可以记住遍历的位置的对象,迭代器有两个基本的方法:iter() 和 next()。
使用iter(iterable)即可把可迭代对象转换成迭代器;使用next(iterator)来获取迭代器的下一个值
li3 = [5,6,7,8] for i in iter(li3): print(i)
5
6
7
8
方法4:借用 enumerate() 函数遍历
当既需要遍历索引同时需要遍历元素的时候,可以考虑使用enumerate函数,enumerate函数接受一个可遍历的对象,如列表、字符串等
li4 = ['C','C#','JAVA'] for i,li4 in enumerate(li4): print(i+1,li4)
1 C
2 C#
3 JAVA
加载全部内容