最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python可迭代對(duì)象操作示例

 更新時(shí)間:2019年05月07日 08:49:09   作者:微信1257309054  
這篇文章主要介紹了Python可迭代對(duì)象操作,涉及Python列表生成式、迭代器、數(shù)據(jù)遍歷等相關(guān)操作技巧,需要的朋友可以參考下

本文實(shí)例講述了Python可迭代對(duì)象。分享給大家供大家參考,具體如下:

1、列表生成式

list = [result for x in range(m, n)]
g1 = (i for i in range(101))
print(type(g1))
print(g1)
print(g1.__next__())

輸出:

<class 'generator'>
<generator object <genexpr> at 0x0000024E6AC08F10>
0

g1 = (i for i in range(11))
list1 = [i for i in g1]
print(list1)

輸出:

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10] 

2、可迭代對(duì)象

①.可以直接作用于for循環(huán)的對(duì)象統(tǒng)稱為可迭代對(duì)象,我們稱之為:Iterator

②.我們可以使用isintance()判斷一個(gè)對(duì)象是否是Iterator對(duì)象

③.可以直接作用于for循環(huán)的數(shù)據(jù)類型有以下幾種

a.集合數(shù)據(jù)類型:如list、tuple、dict、set和string
b.生成器(generator):就是一個(gè)能返回迭代器的函數(shù),其實(shí)就是定義一個(gè)迭代算法,可以理解為一個(gè)特殊的迭代器。

生成器:

通過列表生成式,我們可以直接創(chuàng)建一個(gè)列表,但是,受到內(nèi)存限制,列表容量肯定是有限的,如果我們僅僅需要訪問前面幾個(gè)元素,如果列表元素可以按照某種算法推算出來,那我們是否可以在循環(huán)的過程中不斷推算出后續(xù)的元素呢?這樣就不必創(chuàng)建完整的list,從而節(jié)省大量的空間。在Python中,這種一邊循環(huán)一邊計(jì)算的機(jī)制,稱為生成器(Generator)

要?jiǎng)?chuàng)建一個(gè)generator,有很多種方法。第一種方法很簡單,只要把一個(gè)列表生成式的[]改成(),就創(chuàng)建了一個(gè)generator。

g1 = (i for i in range(11))
print(g1)
for i in range(11):
  print(next(g1),end='\t')

輸出:

<generator object <genexpr> at 0x00000207F5C69678>
0   1   2   3   4   5   6   7   8   9   10 

注意:使用Iterator判斷的時(shí)候需要導(dǎo)入Iterable的包

from collections import Iterable
print(isinstance([],Iterable))
print(isinstance((),Iterable))
print(isinstance("",Iterable))
print(isinstance({},Iterable))
print(isinstance({1,2,3},Iterable))
print({1,2,3})
print(isinstance(1,Iterable))
print(isinstance(1.2,Iterable))
g1 = (i for i in range(101))
print(isinstance(g1,Iterable))

輸出:

True
True
True
True
True
{1, 2, 3}
False
False
True

3、迭代器

迭代器:不但可以作用于for循環(huán),還可以被next()函數(shù)不斷調(diào)用并返回下一個(gè)值,

直到最后出現(xiàn)StopIteration錯(cuò)誤,表示無法返回下一個(gè)值

可以被next()函數(shù)調(diào)用并不斷返回下一個(gè)值的對(duì)象稱為迭代器(Iterator對(duì)象)

可以使用isinstance()函數(shù)判斷一個(gè)對(duì)象是否是Iterator對(duì)象。

注意:可迭代對(duì)象不一定是迭代器,但是迭代器一定是迭代對(duì)象。

可迭代對(duì)象與迭代器的關(guān)系:

可迭代對(duì)象包含迭代器

from collections import Iterator
print(isinstance([],Iterator))
print(isinstance((),Iterator))
print(isinstance("",Iterator))
print(isinstance({},Iterator))
print(isinstance({1,2,3},Iterator))
print({1,2,3})
print(isinstance(1,Iterator))
print(isinstance(1.2,Iterator))
g1 = (i for i in range(101))
print(isinstance(g1,Iterator))

輸出:

False
False
False
False
False
{1, 2, 3}
False
False
True

4、 Iterator轉(zhuǎn)換

可以通過Iter()函數(shù)將list、tuple、dict、string轉(zhuǎn)換為Iterator對(duì)象。

from collections import Iterator
list1 = [i for i in range(11)]
print(isinstance(list1,Iterator))
iter1 = iter(list1)
print(isinstance(iter1,Iterator))
for i in range(11):
  print(next(iter1),end='\t')

輸出:

False
True
0   1   2   3   4   5   6   7   8   9   10 

更多關(guān)于Python相關(guān)內(nèi)容可查看本站專題:《Python數(shù)據(jù)結(jié)構(gòu)與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》及《Python入門與進(jìn)階經(jīng)典教程

希望本文所述對(duì)大家Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • python pytorch中.view()函數(shù)的用法解讀

    python pytorch中.view()函數(shù)的用法解讀

    這篇文章主要介紹了python pytorch中.view()函數(shù)的用法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • python實(shí)現(xiàn)2014火車票查詢代碼分享

    python實(shí)現(xiàn)2014火車票查詢代碼分享

    學(xué)習(xí)習(xí)PYTHON開始,實(shí)現(xiàn)了一個(gè)火車票查詢的小功能,希望能幫大家買到回家的票
    2014-01-01
  • Python socket套接字實(shí)現(xiàn)C/S模式遠(yuǎn)程命令執(zhí)行功能案例

    Python socket套接字實(shí)現(xiàn)C/S模式遠(yuǎn)程命令執(zhí)行功能案例

    這篇文章主要介紹了Python socket套接字實(shí)現(xiàn)C/S模式遠(yuǎn)程命令執(zhí)行功能,涉及Python socket套接字編寫服務(wù)器/客戶機(jī)模式數(shù)據(jù)傳輸相關(guān)操作技巧,需要的朋友可以參考下
    2018-07-07
  • Python?torch.onnx.export用法詳細(xì)介紹

    Python?torch.onnx.export用法詳細(xì)介紹

    這篇文章主要給大家介紹了關(guān)于Python?torch.onnx.export用法詳細(xì)介紹的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-07-07
  • Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試

    Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試

    這篇文章主要介紹了Python PyCharm如何進(jìn)行斷點(diǎn)調(diào)試,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • python實(shí)現(xiàn)websocket的客戶端壓力測試

    python實(shí)現(xiàn)websocket的客戶端壓力測試

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)websocket的客戶端壓力測試,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06
  • Python中pytest的參數(shù)化實(shí)例解析

    Python中pytest的參數(shù)化實(shí)例解析

    這篇文章主要介紹了Python中pytest的參數(shù)化實(shí)例解析,pytest是一個(gè)非常成熟的全功能的Python測試框架,主要有簡單靈活,容易上手,支持參數(shù)化等特點(diǎn),需要的朋友可以參考下
    2023-07-07
  • Keras實(shí)現(xiàn)Vision?Transformer?VIT模型示例詳解

    Keras實(shí)現(xiàn)Vision?Transformer?VIT模型示例詳解

    這篇文章主要為大家介紹了Keras實(shí)現(xiàn)Vision?Transformer?VIT模型示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • Python讀取HDFS目錄下的所有文件的實(shí)現(xiàn)示例

    Python讀取HDFS目錄下的所有文件的實(shí)現(xiàn)示例

    HDFS是Apache Hadoop的分布式文件系統(tǒng),本文主要介紹了Python讀取HDFS目錄下的所有文件的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-07-07
  • 使用selenium模擬登錄解決滑塊驗(yàn)證問題的實(shí)現(xiàn)

    使用selenium模擬登錄解決滑塊驗(yàn)證問題的實(shí)現(xiàn)

    這篇文章主要介紹了使用selenium模擬登錄解決滑塊驗(yàn)證問題的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05

最新評(píng)論

历史| 治县。| 永宁县| 上杭县| 镇坪县| 西畴县| 吉木乃县| 高青县| 毕节市| 前郭尔| 论坛| 白城市| 壶关县| 股票| 磐安县| 古田县| 昌都县| 九龙坡区| 瑞安市| 黎城县| 濮阳县| 亳州市| 文安县| 虎林市| 曲阳县| 崇左市| 新和县| 博爱县| 会同县| 长岭县| 东至县| 神农架林区| 英德市| 合江县| 南岸区| 简阳市| 乌兰县| 吴江市| 蕲春县| 玛多县| 宁武县|