溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

python如何遍歷可迭代對象

發(fā)布時間:2023-02-28 10:39:17 來源:億速云 閱讀:76 作者:iii 欄目:開發(fā)技術(shù)

這篇“python如何遍歷可迭代對象”文章的知識點大部分人都不太理解,所以小編給大家總結(jié)了以下內(nèi)容,內(nèi)容詳細(xì),步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python如何遍歷可迭代對象”文章吧。

可迭代(iterable)

迭代(遍歷)就是按照某種順序逐個訪問對象中的每一項。

Python中有很多對象都是可以通過for語句來直接遍歷的,例如list、string、dict等,這些對象都是可迭代的,被稱為可迭代對象。

可以將可迭代對象想象成一個容器,里面存放了有限個元素,并且每個元素都可以從中獲取出來。那么這個容器就是可迭代的,這個容器就是可迭代對象。

所有的可迭代對象都需要實現(xiàn)__iter__方法,該方法就是用于當(dāng)我們在循環(huán)時將可迭代對象轉(zhuǎn)換成迭代器的。

迭代器(iterator)

迭代器是可迭代對象的一個子集。是一個可以記住遍歷的位置的對象,它與列表、元組、集合、字符串這些可迭代對象的區(qū)別就在于__next__()方法的實現(xiàn)。也就是通過該方法可以一個個的將元素取出來。即遍歷可迭代對象的方法就為迭代器。

迭代器支持__iter__()和__next__()方法。其中:iter()方法返回迭代器對象本身,而可迭代對象的該方法則返回其迭代器。

next()方法返回容器的下一個元素,在結(jié)尾時引發(fā)StopIteration異常。

方法1:使用for循環(huán)簡單結(jié)構(gòu)遍歷

對迭代對象直接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() 函數(shù)遍歷

這種方法可以使用數(shù)組中常用的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() 函數(shù)遍歷

這種方法是利用迭代器的思想,迭代器是一個可以記住遍歷的位置的對象,迭代器有兩個基本的方法:iter() 和 next()。
使用iter(iterable)即可把可迭代對象轉(zhuǎn)換成迭代器;使用next(iterator)來獲取迭代器的下一個值

li3 = [5,6,7,8]
for i in iter(li3):
    print(i)

5
6
7
8

方法4:借用 enumerate() 函數(shù)遍歷

當(dāng)既需要遍歷索引同時需要遍歷元素的時候,可以考慮使用enumerate函數(shù),enumerate函數(shù)接受一個可遍歷的對象,如列表、字符串等

li4 = ['C','C#','JAVA']
for i,li4 in enumerate(li4):
    print(i+1,li4)

1 C
2 C#
3 JAVA

以上就是關(guān)于“python如何遍歷可迭代對象”這篇文章的內(nèi)容,相信大家都有了一定的了解,希望小編分享的內(nèi)容對大家有幫助,若想了解更多相關(guān)的知識內(nèi)容,請關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI