五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

python:for loop的對(duì)象必須是一個(gè)可迭代對(duì)象

2022-03-17 00:56 作者:云漢含星  | 我要投稿

在python中經(jīng)常會(huì)遇到這樣的一個(gè)代碼:

list是一個(gè)有序的列表。我們可以根據(jù)順序來for循環(huán)遍歷整個(gè)list。使用string和tuple的時(shí)候也可以這樣子for loop 遍歷。這是非常符合代碼直覺的,因?yàn)楸闅v的都是有序的對(duì)象。然而我們使用字典的時(shí)候,無序的對(duì)象我們依然能夠進(jìn)行for loop遍歷。

因?yàn)閒or loop要求對(duì)象是一個(gè)可迭代的對(duì)象(iterable)。

上面的代碼使用子這個(gè)仍然能夠順利的打印出列表中的元素。因?yàn)榱斜硎且粋€(gè)可迭代的對(duì)象(iterable)而且也是迭代器(iterator)我們可以根據(jù)迭代器的next(it)函數(shù)去迭代,依次訪問每一個(gè)元素。

總的來說:iterable和iterator的定義是相近的,在使用的時(shí)候可以把iterable當(dāng)成一個(gè)container,而iterator是一個(gè)迭代器,可就和索引一樣,可以通過next()方法依次獲取這個(gè)容器中的每一個(gè)元素。

一般來說一個(gè)iterable對(duì)象都要求他是一個(gè)iterator。而一個(gè)iterator也要求他是一個(gè)iterable對(duì)象。

用鏈表舉例子:自己定義一個(gè)可迭代對(duì)象:

這個(gè)代碼就是鏈表,可通過for loop使用迭代器迭代遍歷整個(gè)鏈表

也可以顯示的使用迭代器

也可以這樣子更直接的使用迭代器。next(it)獲取下一個(gè)迭代對(duì)象。


其實(shí)在C++的STL一直在使用迭代器,無論是向量、棧、鏈表,還是隊(duì)列,都是顯式的利用迭代器。使用的方法都是需要申明一個(gè)迭代器,然后讓這個(gè)可迭代對(duì)象生成一個(gè)iterator。這個(gè)迭代器就可以和索引一樣遍歷可迭代對(duì)象的所有元素,在C++中的迭代器有正向,反向,雙向。迭代器的屬性也有begin,end。迭代的時(shí)候直接it++或者it--進(jìn)行迭代。

下面是C++代碼使用iterator遍歷向量vector



python:for loop的對(duì)象必須是一個(gè)可迭代對(duì)象的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
民权县| 江口县| 会同县| 南丰县| 吉林省| 龙川县| 正宁县| 临沧市| 榆中县| 德钦县| 博爱县| 彭山县| 柳州市| 甘谷县| 丽江市| 万宁市| 无棣县| 榆树市| 苍溪县| 成武县| 龙海市| 黄山市| 视频| 陵川县| 永德县| 无极县| 彰化市| 南岸区| 西乌珠穆沁旗| 上饶市| 阿尔山市| 武邑县| 平邑县| 大邑县| 鄂托克前旗| 芜湖市| 江口县| 兴国县| 临桂县| 灌云县| 舞钢市|