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

yipeiwu_com7年前Python基础

本文实例讲述了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,所以这个函数就可以判断密码够复杂。

给自己留个问题吧,如果要求四项中只需要满足两项,函数该怎么写比较简练。感兴趣的朋友可以动手实践一下。

希望本文所述对大家的Python程序设计有所帮助。

相关文章

Python绘制堆叠柱状图的实例

Python绘制堆叠柱状图的实例

有个朋友要求帮忙绘制堆叠柱状图,查阅了一些文档之后也算是完成了,只是一个小demo,下面我就记录一下。 1.什么是堆叠柱状图 与并排显示分类的分组柱状图不同,堆叠柱状图将每个柱子进行分割...

python 解析XML python模块xml.dom解析xml实例代码

一 、python模块 xml.dom 解析XML的APIminidom.parse(filename)加载读取XML文件 doc.documentElement获取XML文档对象 no...

树莓派用python中的OpenCV输出USB摄像头画面

树莓派用python中的OpenCV输出USB摄像头画面

本文实例为大家分享了python OpenCV来表示USB摄像头画面的具体代码,供大家参考,具体内容如下 确认Python版本 $ python Python 2.7.13 (def...

python简单实现AES加密和解密

本文实例为大家分享了python实现AES加密和解密的具体代码,供大家参考,具体内容如下 参考:python实现AES加密和解密 AES加密算法是一种对称加密算法, 他有一个密匙, 即用...

用python实现对比两张图片的不同

用python实现对比两张图片的不同

from PIL import Image from PIL import ImageChops def compare_images(path_one, path_two,...