Python中遍歷列表有以下幾種方法:
一、for循環(huán)遍歷
lists = ["m1", 1900, "m2", 2000]
for item in lists:
print(item)
lists = ["m1", 1900, "m2", 2000]
for item in lists:
item = 0;
print(lists)
運(yùn)行結(jié)果:
['m1', 1900, 'm2', 2000]
二、while循環(huán)遍歷:
lists = ["m1", 1900, "m2", 2000]
count = 0
while count < len(lists):
print(lists[count])
count = count + 1
三、索引遍歷:
for index in range(len(lists)):
print(lists[index])
四、使用iter()
for val in iter(lists):
print(val)
五、enumerate遍歷方法
for i, val in enumerate(lists):
print(i, val)
運(yùn)行結(jié)果:
0 m1
1 1900
2 m2
3 2000
當(dāng)從非0下標(biāo)開(kāi)始遍歷元素的時(shí)候可以用如下方法
for i, el in enumerate(lists, 1):
print(i, el)
運(yùn)行結(jié)果:
1 m1
2 1900
3 m2
4 2000
擴(kuò)展
python,遍歷文件的方法
在做驗(yàn)證碼識(shí)別時(shí),識(shí)別時(shí)需要和庫(kù)里的圖片對(duì)比,找到最接近的那個(gè)圖片,然后就行到了用與圖片一致的字符命名,獲取文件的名稱,去將圖片的名稱讀出來(lái)作為驗(yàn)證碼。以下是我通過(guò)網(wǎng)上的資料總結(jié)的三種文件遍歷的方式,第一種和第二種相似,只是和第三種有一些區(qū)別。
首先要獲得文件夾的路徑,我是對(duì)某個(gè)文件夾下的文件進(jìn)行遍歷,需要去除文件的后綴,注:num為我創(chuàng)建的一個(gè)文件夾
import os # 需要用到os包
s = os.sep # s區(qū)分在linux或windows系統(tǒng)下的分割符"/"或"\"
root = "C:\Users\XXX\Desktop" + s + "num" + s # 文件路徑
mode = [] # 用mode進(jìn)行去掉后綴的文件名存儲(chǔ)。
# 遍歷文件的第一種方式:
sname = os.listdir(root) # 獲取文件夾下文件或文件夾的名稱,獲取到的sname的格式為('1.jpg')。
for f in sname:
fname = os.path.splitext(f) # 對(duì)f中的文件名進(jìn)行分割,分割后顯示為['1','jpg']
mode.append(fname[0]) # fname[0],取序列中的第一值,即['1']
# 遍歷文件第二種方法(python2支持,python3不支持)
def func(args, dire, fis):
for f in fis:
fname = os.path.splitext(f) # splitext分割文件名和文件后綴
mode.append(fname[0])
os.path.walk(root, func, ()) # 通過(guò)調(diào)用函數(shù)進(jìn)行文件的遍歷,這種方法只能獲取到文件夾下的文件名,不能獲取到子文件夾下的其他內(nèi)容
# 使用os.walk-遍歷文件的第三種方法:
for rt, dirs, files in os.walk(root): # 通過(guò)os.walk進(jìn)行文件遍歷,可以獲得文件夾下子文件內(nèi)的內(nèi)容,dirs為遞歸查出的所有文件夾,files為遞歸查出的所有文件
for f in files:
fname = os.path.splitext(f)
mode.append(fname[0])
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺(jué)我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元

