python中map、any、all函數(shù)用法分析
本文實(shí)例講述了python中map、any、all函數(shù)用法。分享給大家供大家參考。具體分析如下:
最近想學(xué)python,就一直比較關(guān)注python,昨天在python吧看到有個帖子提問怎么在python中怎么判斷密碼是否符合規(guī)范,回帖中有很多用循環(huán)的,除此外還有一個沒有用循環(huán),代碼非常簡練,下面是代碼:
def volid(pwd): a = any(map(str.isupper,pwd)) b = any(map(str.islower,pwd)) c = any(map(str.isdigit,pwd)) d = not all(map(str.isalnum,pwd)) return all([a,b,c,d])
這里的isupper islower isdigit isalnum 函數(shù)都很好理解,就是判斷是不是大寫,是不是小寫,是不是數(shù)字,是不是全是數(shù)字和字母(反過來就是判斷有沒有其他符號),而這里的map函數(shù)就是把后面那個集合的每個元素用第一個參數(shù)的函數(shù)執(zhí)行一遍,返回一個bool類型的集合,最外層的any和all函數(shù)就比較容易理解了,可以用“或”和“與”來理解,如果參數(shù)集合有一個為真,any函數(shù)就返回true,相當(dāng)于把所有元素“或”一下,只有當(dāng)參數(shù)集合全部為真,all函數(shù)才返回true,其他情況都是返回false ,所以如果volid函數(shù)傳入一個包含大寫小寫字母數(shù)字和特殊符號的字符串后,abcd就被賦值為true,最后return true,所以這個函數(shù)就可以判斷密碼夠復(fù)雜。
給自己留個問題吧,如果要求四項中只需要滿足兩項,函數(shù)該怎么寫比較簡練。感興趣的朋友可以動手實(shí)踐一下。
希望本文所述對大家的Python程序設(shè)計有所幫助。
相關(guān)文章
Python OpenCV實(shí)現(xiàn)攝像頭人臉識別功能
這篇文章主要介紹了Python OpenCV實(shí)現(xiàn)攝像頭人臉識別,使用Python 3和OpenCV進(jìn)行攝像頭人臉識別的基本步驟,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2023-07-07Python OpenCV實(shí)現(xiàn)測量圖片物體寬度
這篇文章主要介紹了Python OpenCV實(shí)現(xiàn)測量圖片物體寬度,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-05-05python生成requirements.txt文件的推薦方法
Python項目中必須包含一個requirements.txt文件,用于記錄所有依賴包及其精確的版本號,以便新環(huán)境部署,下面這篇文章主要給大家介紹了關(guān)于python生成requirements.txt文件的相關(guān)資料,需要的朋友可以參考下2022-07-07Pycharm中切換pytorch的環(huán)境和配置的教程詳解
這篇文章主要介紹了Pycharm中切換pytorch的環(huán)境和配置,本文給大家介紹的非常詳細(xì),對大家的工作或?qū)W習(xí)具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03python實(shí)現(xiàn)發(fā)送form-data數(shù)據(jù)的方法詳解
這篇文章主要介紹了python實(shí)現(xiàn)發(fā)送form-data數(shù)據(jù)的方法,結(jié)合實(shí)例形式分析了Python發(fā)送form-data數(shù)據(jù)的相關(guān)操作步驟、實(shí)現(xiàn)方法與注意事項,需要的朋友可以參考下2019-09-09Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)解析
torch.squeeze()這個函數(shù)主要對數(shù)據(jù)的維度進(jìn)行壓縮,去掉維數(shù)為1的的維度,下面這篇文章主要給大家介紹了關(guān)于Pytorch中torch.unsqueeze()與torch.squeeze()函數(shù)詳細(xì)的相關(guān)資料,需要的朋友可以參考下2023-02-02