国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

python迭代

baukh789 / 2900人閱讀

摘要:簡介在中,如果給定一個或者,我們可以通過循環(huán)來遍歷這個或者這種遍歷我們稱為迭代在中,迭代是來完成的,而很多語言比如或者迭代是通過下標(biāo)完成的,比如代碼可以看出,的循環(huán)抽象程度要高于的循環(huán)因為,的循環(huán)不僅可以用在或上,還可以用在任何可迭代對象上

簡介

在Python中,如果給定一個list或者tuple,我們可以通過for循環(huán)來遍歷這個list或者tuple,這種遍歷我們稱為迭代(Iteration)
在Python中,迭代是for...in來完成的,而很多語言比如C或者Java,迭代list是通過下標(biāo)完成的,比如Java代碼:

for(i=0; i

可以看出,Python的for循環(huán)抽象程度要高于Java的for循環(huán)
因為,Python的for循環(huán)不僅可以用在list或tuple上,還可以用在任何可迭代對象上。
那么,可迭代對象有哪些呢?怎么判斷一個對象是否是可迭代對象呢?可以用collections模板里面的iterable包的isinstance函數(shù)進行判斷:

from collections import Iterable  #載入模塊
isinstance("abc", Iterable)  #字符串是可迭代對象嗎?
True
 isinstance([1,2,3],Iterable) #list是可迭代對象嗎?
True
 isinstance({"dede":123},Iterable) #字典是可迭代對象嗎?
True

字典的迭代

>>> d={"python":1,"php":2,"java":3}

#默認(rèn)迭代的是key
>>> for i in d:
    print(i)
python
php
java
#自定義迭代key
>>> for key in d.keys():
    print(key)
python
php
java
#迭代value
>>> for value in d.values():
    print(value)
2
#同時迭代key,value
>>> for k , v in d.items():
    print(k,v)
python 1
php 2
java 3
>>>

列表和元祖包含下標(biāo)的迭代

#對于一個列表

language = ["python", "php", "java", "c++"]

#第一種
for x in range(len(language)):
    print(x, language[x])
#第二種
for i, value in enumerate(language):
    print(i, value)
#運行結(jié)果
0 python
1 php 
2 java
3 c++
#在同一行輸出:
for i ,value in enumerate(lanage):
    print(i,value ,end=", ")
結(jié)果:
0 python, 1 php, 2 java, 3 c++,

任何可迭代對象都可以作用與for循環(huán),保活我們自定義的數(shù)據(jù)類型,只要符合迭代條件,就可以使用for循環(huán)

歡迎加入學(xué)習(xí)交流群569772982,大家一起學(xué)習(xí)交流。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/67948.html

相關(guān)文章

  • 當(dāng)談?wù)?em>迭代器時,我談些什么?

    摘要:示例代碼如下此示例中可以看出,當(dāng)?shù)鹘K止時,通過拋出異常告知迭代器已耗盡。但如果迭代器所指向的數(shù)據(jù)結(jié)構(gòu)在其存在時發(fā)生了插入或刪除操作,則迭代器將可能失效。與的情形類似,對進行任何插入操作也將損壞迭代器。 花下貓語:之前說過,我對于編程語言跟其它學(xué)科的融合非常感興趣,但我還說漏了一點,就是我對于 Python 跟其它編程語言的對比學(xué)習(xí),也很感興趣。所以,我一直希望能聚集一些有其它語言基...

    王軍 評論0 收藏0
  • Python迭代器(iterator)

    摘要:迭代器一個表示數(shù)據(jù)流的對象。迭代器對象本身要求支持以下組成迭代器協(xié)議的兩個方法返回迭代器對象本身。這些特定類型處于迭代器協(xié)議實現(xiàn)之外的東西,并不重要。一旦一個迭代器的方法引發(fā),在子序列調(diào)用中也必須這樣做。 迭代器(iterator) 一個表示數(shù)據(jù)流的對象。反復(fù)調(diào)用迭代器的__next__()方法(或給它傳遞內(nèi)建函數(shù)(built-in function)next())來返回在該流中的后...

    yuanzhanghu 評論0 收藏0
  • Python:range 對象并不是迭代

    摘要:簡評迭代器是惰性可迭代對象,函數(shù)在中是一個惰性的可迭代對象,那么是不是迭代器呢為什么。如果你不能將某些東西傳遞給函數(shù),那么它不是一個迭代器。的對象不是迭代器。 簡評:迭代器(iterator)是惰性可迭代對象(lazy iterable),range 函數(shù)在 Python 3 中是一個惰性的可迭代對象,那么 range 是不是迭代器呢?為什么。 TLNR:Python 3 中的 ran...

    draveness 評論0 收藏0
  • Python進階:設(shè)計模式之迭代器模式

    摘要:抓住了迭代器模式的本質(zhì),即是迭代,賦予了它極高的地位。輸出結(jié)果輸出結(jié)果小結(jié)迭代器模式幾乎是種設(shè)計模式中最常用的設(shè)計模式,本文主要介紹了是如何運用迭代器模式,并介紹了模塊生成迭代器的種方法,以及種生成迭代器的內(nèi)置方法。 showImg(https://segmentfault.com/img/bVbmv7W?w=4272&h=2848); 在軟件開發(fā)領(lǐng)域中,人們經(jīng)常會用到這一個概念——設(shè)...

    pubdreamcc 評論0 收藏0

發(fā)表評論

0條評論

baukh789

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<