真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Python迭代有什么用

這篇文章主要講解了“Python迭代有什么用”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來(lái)研究和學(xué)習(xí)“Python迭代有什么用”吧!

成都創(chuàng)新互聯(lián)公司是一家專業(yè)提供杞縣企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、做網(wǎng)站、html5、小程序制作等業(yè)務(wù)。10年已為杞縣眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

 一、前言

大家好,我是Go進(jìn)階者。如果給定一個(gè)list或tuple,可以通過(guò)for循環(huán)來(lái)遍歷這個(gè)list或tuple,這種遍歷稱為迭代(Iteration)。

二、案例

在Python中,迭代是通過(guò)for … in來(lái)完成的,而很多語(yǔ)言比如C或者Java,迭代list是通過(guò)下標(biāo)完成的。

比如Java代碼:

for (i=0; i

注:

可以看出,Python的for循環(huán)抽象程度要高于Java的for循環(huán),因?yàn)镻ython的for循環(huán)不僅可以用在list或tuple上,還可以作用在其他可迭代對(duì)象上。

list這種數(shù)據(jù)類型雖然有下標(biāo),但很多其他數(shù)據(jù)類型是沒(méi)有下標(biāo)的,但是,只要是可迭代對(duì)象,無(wú)論有無(wú)下標(biāo),都可以迭代,

比如dict就可以迭代。

d = {'a': 1, 'b': 2, 'c': 3}  for key in d:       print(key)

Python迭代有什么用

注:

因?yàn)閐ict的存儲(chǔ)不是按照l(shuí)ist的方式順序排列,所以,迭代出的結(jié)果順序很可能不一樣。

默認(rèn)情況下,dict迭代的是key。如果要迭代value,可以用for value in  d.values(),如果要同時(shí)迭代key和value,可以用for k, v in d.items()。

1. 字符串也是可迭代對(duì)象。

因此,也可以作用于for循環(huán):

for ch in 'ABC':      print(ch)

Python迭代有什么用

所以,當(dāng)使用for循環(huán)時(shí),只要作用于一個(gè)可迭代對(duì)象,for循環(huán)就可以正常運(yùn)行,而不太關(guān)心該對(duì)象究竟是list還是其他數(shù)據(jù)類型。

那么,如何判斷一個(gè)對(duì)象是可迭代對(duì)象呢?方法是通過(guò)collections模塊的Iterable類型判斷:

from collections import Iterable print(isinstance('abc', Iterable))  # str是否可迭代True print(isinstance([1, 2, 3], Iterable))  # list是否可迭代True print(isinstance(123, Iterable) ) # 整數(shù)是否可迭代False

Python迭代有什么用

如果要對(duì)list實(shí)現(xiàn)類似Java那樣的下標(biāo)循環(huán)怎么辦?

Python內(nèi)置的enumerate函數(shù)可以把一個(gè)list變成索引-元素對(duì),這樣就可以在for循環(huán)中同時(shí)迭代索引和元素本身:

for i, value in enumerate(['A', 'B', 'C']):     print(i, value)

Python迭代有什么用

上面的for循環(huán)里,同時(shí)引用了兩個(gè)變量,在Python里是很常見(jiàn)的,

比如下面的代碼:

for x, y in [(1, 1), (2, 4), (3, 9)]:       print(x, y)

Python迭代有什么用

2. 迭代dict的key和value

了解了如何迭代 dict 的key和value,那么,在一個(gè) for 循環(huán)中,能否同時(shí)迭代 key和value?答案是肯定的。

首先,看看 dict 對(duì)象的 items() 方法返回的值:

d = {'Adam': 95, 'Lisa': 85, 'Bart': 59} print(d.items())

Python迭代有什么用

可以看到,items() 方法把dict對(duì)象轉(zhuǎn)換成了包含tuple的list,對(duì)這個(gè)list進(jìn)行迭代,可以同時(shí)獲得key和value:

for key, value in d.items():     print(  key, ':', value)

Python迭代有什么用

注:

和values() 有一個(gè) itervalues() 類似, items() 也有一個(gè)對(duì)應(yīng)的 iteritems(),iteritems()  不把dict轉(zhuǎn)換成list,而是在迭代過(guò)程中不斷給出 tuple。

所以, iteritems() 不占用額外的內(nèi)存。

三、總結(jié)

本文基于Python基礎(chǔ),介紹了Python  迭代的使用。任何可迭代對(duì)象都可以作用于for循環(huán),包括自定義的數(shù)據(jù)類型,只要符合迭代條件,就可以使用for循環(huán)。通過(guò)案例的分析,介紹了兩種常見(jiàn)  迭代的方式。在實(shí)際操作中遇到的難點(diǎn),提供有效的解決方法。

感謝各位的閱讀,以上就是“Python迭代有什么用”的內(nèi)容了,經(jīng)過(guò)本文的學(xué)習(xí)后,相信大家對(duì)Python迭代有什么用這一問(wèn)題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!


文章名稱:Python迭代有什么用
標(biāo)題網(wǎng)址:http://weahome.cn/article/jjseoi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部