python列表過濾

2021-06-26 23:14:27 字數 501 閱讀 7011

寫**時會遇到這樣的需求:從指定列表中刪除不符合要求的元素。這時直觀的做法就是遍歷整個列表,遇到不符合要求的就刪除。但是下面這種寫法是錯的:

for item in list:

if not_wanted(item):

list.remove(item)

return list

出錯的原因是python不允許在遍歷乙個列表的同時刪除裡面的元素,這會造成某些元素無法被遍歷到。

正確的做法應該是下面這樣:

def filter_list(l):

return [item for item in l if is_wanted(item)]

這段**的意思是將所有符合要求的元素組成乙個新的列表並返回。當然下面的寫法也是可以的:

def filter_list(l):

return filter(is_wanted, l)

Python過濾列表用法例項分析

過濾列表 mapping expression for element in source list if filter expression 以 if 開頭的是過濾器表示式,過濾器表示式可以是返回值為真或者假 在 python 中是 幾乎任何東西 的任何表示式。任何經過濾器表示式www.cppcn...

1 7 過濾列表輸出

上一節中我們講了如何檢視當前目錄下的檔案和目錄。有時候這樣做很多餘,尤其在查詢某乙個檔案的資訊時。過濾器的工作方式類似乙個簡單的文字匹配字串,有兩種使用方式。1 用法一 明確查詢的檔名,直接跟檔名 root hadoop tmp ls l file1 rw r r 1 root root 0 8月 ...

python過濾檔案內容 python過濾檔案內容

我是python新手,我正在嘗試完成以下任務,但是我的輸出與它應該是不一樣的。有誰能幫我解決問題嗎?感謝你的幫助!在 分配 在第三個程式中,我們將研究檔案內容的分類。在與源 相同的目錄中是乙個檔案 字串.txt,它在幾行中有隨機字串。這些線可以分為兩類 一類是只有字母 a z,a z 和數字 0 9...