设为首页 加入收藏

TOP

Python 中的map any all 函数
2015-07-16 12:57:13 来源: 作者: 【 】 浏览:6
Tags:Python map any all 函数

最近想学Python,就一直比较关注Python,昨天在Python吧看到有个帖子提问怎么在Python中怎么判断密码是否符合规范,回帖中有很多用循环的,除此外还有一个没有用循环,代码非常简练,下面是代码:


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,所以这个函数就可以判断密码够复杂。? 给自己留个问题吧,如果要求四项中只需要满足两项,函数该怎么写比较简练。


--------------------------------------分割线 --------------------------------------


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇Java过程——嵌套与迭代 下一篇Java网络编程之InetAddress和URL

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: