您好,登錄后才能下訂單哦!
Python中遍歷列表有以下幾種方法:
一、for循環遍歷
lists = ["m1", 1900, "m2", 2000] for item in lists: print(item)
lists = ["m1", 1900, "m2", 2000] for item in lists: item = 0; print(lists)
運行結果:
['m1', 1900, 'm2', 2000]
二、while循環遍歷:
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)
運行結果:
0 m1 1 1900 2 m2 3 2000
當從非0下標開始遍歷元素的時候可以用如下方法
for i, el in enumerate(lists, 1): print(i, el)
運行結果:
1 m1 2 1900 3 m2 4 2000
擴展
在做驗證碼識別時,識別時需要和庫里的圖片對比,找到最接近的那個圖片,然后就行到了用與圖片一致的字符命名,獲取文件的名稱,去將圖片的名稱讀出來作為驗證碼。以下是我通過網上的資料總結的三種文件遍歷的方式,第一種和第二種相似,只是和第三種有一些區別。
首先要獲得文件夾的路徑,我是對某個文件夾下的文件進行遍歷,需要去除文件的后綴,注:num為我創建的一個文件夾
import os # 需要用到os包 s = os.sep # s區分在linux或windows系統下的分割符"/"或"\" root = "C:\Users\XXX\Desktop" + s + "num" + s # 文件路徑 mode = [] # 用mode進行去掉后綴的文件名存儲。 # 遍歷文件的第一種方式: sname = os.listdir(root) # 獲取文件夾下文件或文件夾的名稱,獲取到的sname的格式為('1.jpg')。 for f in sname: fname = os.path.splitext(f) # 對f中的文件名進行分割,分割后顯示為['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, ()) # 通過調用函數進行文件的遍歷,這種方法只能獲取到文件夾下的文件名,不能獲取到子文件夾下的其他內容 # 使用os.walk-遍歷文件的第三種方法: for rt, dirs, files in os.walk(root): # 通過os.walk進行文件遍歷,可以獲得文件夾下子文件內的內容,dirs為遞歸查出的所有文件夾,files為遞歸查出的所有文件 for f in files: fname = os.path.splitext(f) mode.append(fname[0])
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。