亲宝软件园·资讯

展开

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

加载全部内容

相关教程
猜你喜欢
用户评论