萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> 編程語言綜合 >> python中map、any、all函數用法分析

python中map、any、all函數用法分析

   這篇文章主要介紹了python中map、any、all函數用法,實例分析了map、any、all函數的相關使用技巧,具有一定參考借鑒價值,需要的朋友可以參考下

  本文實例講述了python中map、any、all函數用法。分享給大家供大家參考。具體分析如下:

  最近想學python,就一直比較關注python,昨天在python吧看到有個帖子提問怎麼在python中怎麼判斷密碼是否符合規范,回帖中有很多用循環的,除此外還有一個沒有用循環,代碼非常簡練,下面是代碼:

  ?

1 2 3 4 5 6 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 函數都很好理解,就是判斷是不是大寫,是不是小寫,是不是數字,是不是全是數字和字母(反過來就是判斷有沒有其他符號),而這裡的map函數就是把後面那個集合的每個元素用第一個參數的函數執行一遍,返回一個bool類型的集合,最外層的any和all函數就比較容易理解了,可以用“或”和“與”來理解,如果參數集合有一個為真,any函數就返回true,相當於把所有元素“或”一下,只有當參數集合全部為真,all函數才返回true,其他情況都是返回false ,所以如果volid函數傳入一個包含大寫小寫字母數字和特殊符號的字符串後,abcd就被賦值為true,最後return true,所以這個函數就可以判斷密碼夠復雜。

  給自己留個問題吧,如果要求四項中只需要滿足兩項,函數該怎麼寫比較簡練。感興趣的朋友可以動手實踐一下。

copyright © 萬盛學電腦網 all rights reserved