python all函數用法

python的內置函數有很多,高級函數也有很多,今天講一個小小的例子,因爲之前沒有用過,所以在這裏記錄一下。

使用場景:給出一個由字符串組成的列表,怎麼取判斷每一個字符串裏是不是包含共同的一個部分,例如下面:

str_list=['//img14.360buyimg.com/n5/s85x85_jfs/t1/7121/5/4850/249681/5bdc086dE0d08ee7e/65767cb85c91701b.jpg', 
'//img12.360buyimg.com/n5/s85x85_jfs/t13660/244/908634455/116594/90b4ea04/5a166e06N37fd1f80.jpg', 
'//img13.360buyimg.com/n5/s85x85_jfs/t1/1722/26/14622/177790/5bdc077bEff4fa3f0/8731fb913db9d162.jpg', 
'//img12.360buyimg.com/n5/s85x85_jfs/t23962/302/1501171450/183027/6382020c/5b626cf2Na5a20c37.jpg', 
'//img11.360buyimg.com/n5/s85x85_jfs/t1/98999/25/1173/131686/5dba7e95E32c6412e/b674669c4b0bd627.jpg', 
'//img14.360buyimg.com/n5/s85x85_jfs/t1/106804/13/19274/337597/5e9e58fbE9e0c598d/7c676342231e02c9.jpg', 
'//img13.360buyimg.com/n5/s85x85_jfs/t1/99513/12/16100/181356/5e781783Ef30d358e/70e73a6432cb1e27.jpg']

這是一個列表,那我們怎麼判斷裏面的每一個鏈接是不是都包含s85xs85這個小的字符串呢?可能你會說遍歷列表,然後每一個做判斷,最後取結果的交集。我們這裏就可以用all函數來解決。

filter_list=['s85xs85']
result=all(word in text for word in filter_list for text in str_list )

可能你會疑惑,爲什麼filter_list裏面只有一個元素,卻需要用一個列表的形式來呈現呢?想必你也應該想到了,對,答案就是,我們可以同時來判斷多個元素,這次是all函數快捷,簡潔的地方。對比遍歷作比較,在時間複雜度和空間複雜度上都是有優勢的。當然這只是我的一個小的嘗試,至於大家在實際生產中遇到什麼其他的問題,可以留言一起討論。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章