zoukankan      html  css  js  c++  java
  • python 中的map any all 函数

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

    1 def volid(pwd):
    2     a = any(map(str.isupper,pwd))
    3     b = any(map(str.islower,pwd))
    4     c = any(map(str.isdigit,pwd))
    5     d = not all(map(str.isalnum,pwd))
    6     return all([a,b,c,d])

    这里的isupper islower  isdigit  isalnum 函数都很好理解,就是判断是不是大写,是不是小写,是不是数字,是不是全是数字和字母(反过来就是判断有没有其他符号),而这里的map函数就是把后面那个集合的每个元素用第一个参数的函数执行一遍,返回一个bool类型的集合,最外层的any和all函数就比较容易理解了,可以用“或”和“与”来理解,如果参数集合有一个为真,any函数就返回true,相当于把所有元素“或”一下,只有当参数集合全部为真,all函数才返回true,其他情况都是返回false ,所以如果volid函数传入一个包含大写小写字母数字和特殊符号的字符串后,abcd就被赋值为true,最后return true,所以这个函数就可以判断密码够复杂。  给自己留个问题吧,如果要求四项中只需要满足两项,函数该怎么写比较简练。

  • 相关阅读:
    APICloud学习笔记之图片缓存
    正则表达式笔记01
    hahah
    panel 绑定鼠标滚轮事件
    C#无边框窗体移动 将事件绑定到想实现的控件上
    消消看最高分破解
    字符串补齐
    ant android打包--学习第一弹
    Windsock套接字I/O模型学习 --- 第三章
    Lua 垃圾收集机制
  • 原文地址:https://www.cnblogs.com/xlzhang/p/4443105.html
Copyright © 2011-2022 走看看