python 遍歷可迭代對象的實現方法
可迭代(iterable)
迭代(遍歷)就是按照某種順序逐個訪問對象中的每一項。
Python中有很多對象都是可以通過for語句來直接遍歷的,例如list、string、dict等,這些對象都是可迭代的,被稱為可迭代對象。
可以將可迭代對象想象成一個容器,里面存放了有限個元素,并且每個元素都可以從中獲取出來。那么這個容器就是可迭代的,這個容器就是可迭代對象。
所有的可迭代對象都需要實現__iter__方法,該方法就是用于當我們在循環(huán)時將可迭代對象轉換成迭代器的。
迭代器(iterator)
迭代器是可迭代對象的一個子集。是一個可以記住遍歷的位置的對象,它與列表、元組、集合、字符串這些可迭代對象的區(qū)別就在于__next__()方法的實現。也就是通過該方法可以一個個的將元素取出來。即遍歷可迭代對象的方法就為迭代器。
迭代器支持__iter__()和__next__()方法。其中:iter()方法返回迭代器對象本身,而可迭代對象的該方法則返回其迭代器。
next()方法返回容器的下一個元素,在結尾時引發(fā)StopIteration異常。
方法1:使用for循環(huán)簡單結構遍歷
對迭代對象直接for循環(huán)遍歷
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
到此這篇關于python 遍歷可迭代對象的實現方法的文章就介紹到這了,更多相關python 遍歷可迭代對象內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Python多線程編程(三):threading.Thread類的重要函數和方法
這篇文章主要介紹了Python多線程編程(三):threading.Thread類的重要函數和方法,本文講解了線程名稱、join方法、setDaemon方法等內容,需要的朋友可以參考下2015-04-04tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明
這篇文章主要介紹了tf.nn.conv2d與tf.layers.conv2d的區(qū)別及說明,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02