遍歷python模塊函數(shù) python遍歷對(duì)象屬性

怎么遍歷模塊內(nèi)變量 python

我用的是dir(m),然后過濾_開頭的內(nèi)容。再通過isinstance過濾掉函數(shù)。其余的就是變量了??赡苓€需要過濾一些東西。你試試看。

創(chuàng)新互聯(lián)2013年開創(chuàng)至今,先為西陵等服務(wù)建站,西陵等地企業(yè),進(jìn)行企業(yè)商務(wù)咨詢服務(wù)。為西陵企業(yè)網(wǎng)站制作PC+手機(jī)+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

python生成器多次遍歷(一)------復(fù)制生成器

當(dāng)python中的生成器被完整遍歷一次后,就無法再次遍歷。

我們希望享有生成器迭代占用內(nèi)存小的特性,又希望這個(gè)生成器能被遍歷多次。

方案之一是使用函數(shù) itertools.tee 來復(fù)制生成器

語(yǔ)法: generator1, generator2 = itertools.tee(generator, n=2)

generator是需要復(fù)制的生成器, n是復(fù)制出生成器個(gè)數(shù),默認(rèn)為2。

我們?yōu)榱松善髂芏啻伪闅v,可以這樣寫:

generator, copy_generator = itertools.tee(generator, 2)

然后遍歷copy_generator,保存的generator可以再次復(fù)制。

1、generator被復(fù)制后盡量不要使用

2、如果生成器中迭代的還是生成器,復(fù)制最外層生成器,生成器依然只能遍歷一次。

下一篇

python生成器多次遍歷(二)------創(chuàng)建生成器類

python怎樣遍歷.py的內(nèi)容?

列表的遍歷

方法一:通過for循環(huán)

li = [i for i in range(10)]

for i in li:

print(i)

方法二:通過while循環(huán)

# 雖然for循環(huán)已經(jīng)很好用了,但是在有些情況下,使用while循環(huán)可以更靈活

# 只需要將判斷條件設(shè)置為小于列表長(zhǎng)度,即可完成列表通過while循環(huán)的遍歷

li = [i for i in range(10)]

i = 0

while i len(li):

print(li[i])

i += 1

方法三:配合enumerate使用,同時(shí)獲取列表的索引

li = [i + 1 for i in range(10)]

# 此時(shí),i為一個(gè)元組,元組的第一個(gè)元素為索引,第二個(gè)元素為原列表的元素

# 因此,在遍歷列表的同時(shí),需要同時(shí)獲取坐標(biāo)的情況下,可以配合enumerate()一起使用

for i in enumerate(li):

print(i)

字典的遍歷

字典的遍歷和列表有一些不同,因?yàn)樽值溆墟I和值兩個(gè)關(guān)鍵部分。默認(rèn)的遍歷情況,是遍歷字典的鍵,當(dāng)然,可以通過字典的鍵取得值,也可以直接遍歷值,或者直接遍歷鍵和值。

方法一:直接使用for循環(huán)

直接使用for循環(huán)對(duì)一個(gè)字典進(jìn)行遍歷,默認(rèn)取得的是字典的鍵

dt = {i: i + 1 for i in range(10)}

for i in dt:

print("字典的鍵:", i) # 字典的鍵

print("字典的值:", dt[i]) # 字典的值

方法二:遍歷dict.keys()

這種方法與方法一的效果其實(shí)是一樣的,同樣是獲取字典的鍵

dt = {i: i + 1 for i in range(10)}

for i in dt.keys():

print("字典的鍵:", i) # 字典的鍵

print("字典的值:", dt[i]) # 字典的值

方法三:遍歷dict.values()

這種方法與方法一和二很不相同,因?yàn)樗猾@取了字典的值

dt = {i: i + 1 for i in range(10)}

# 這是很特殊的方法,因?yàn)樗鼪]有獲取字典的鍵

for i in dt.values():

print("字典的值:", i) # 此時(shí)i不再是字典的鍵,而是值

方法四:遍歷dict.items()

這種方法一般來說要更好,因?yàn)樗瑫r(shí)獲取到了字典的鍵和值,而且性能上要高于先獲取鍵,再通過鍵獲取對(duì)應(yīng)的值

dt = {i: i + 1 for i in range(10)}

for i in dt.items():

print("字典的鍵值對(duì):", i)

print("字典的鍵:", i[0])

print("字典的值:", i[1])

總結(jié)

1,列表的遍歷比較簡(jiǎn)單,除了配合enumerate()使用,可以同步獲取索引以外,并沒有特別值得糾結(jié)的。

2,字典的遍歷方法比較多,其中第四種是能適用于一切情況的,前兩種也可以適用于一切情況,但是如果你同時(shí)需要獲取鍵和值,性能不如第四種要好。第三種比較特別,除非你真的只需要字典的值,否則它在多數(shù)情況下是不能夠滿足需求的。

新聞名稱:遍歷python模塊函數(shù) python遍歷對(duì)象屬性
分享地址:http://muchs.cn/article22/hgcjcc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、網(wǎng)站設(shè)計(jì)、面包屑導(dǎo)航定制網(wǎng)站、網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司