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

时间: 2024-10-16 03:47:51

python 中的map any all 函数的相关文章

Python中的map与reduce函数简介

1.从参数方面来讲: map()函数: map()包含两个参数,第一个是参数是一个函数,第二个是序列(列表或元组).其中,函数(即map的第一个参数位置的函数)可以接收一个或多个参数. reduce()函数: reduce() 第一个参数是函数,第二个是 序列(列表或元组).但是,其函数必须接收两个参数. 2.从对传进去的数值作用来讲: map()是将传入的函数依次作用到序列的每个元素,每个元素都是独自被函数"作用"一次:(请看下面的栗子) reduce()是将传人的函数作用在序列的第

Python中的Map/Reduce

MapReduce是一种函数式编程模型,用于大规模数据集(大于1TB)的并行运算.概念"Map(映射)"和"Reduce(归约)",是它们的主要思想,都是从函数式编程语言里借来的,还有从矢量编程语言里借来的特性.它极大地方便了编程人员在不会分布式并行编程的情况下,将自己的程序运行在分布式系统上. Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组. 然而在python中,ma

python中的map()函数

MapReduce的设计灵感来自于函数式编程,这里不打算提MapReduce,就拿python中的map()函数来学习一下. 文档中的介绍在这里: map(function, iterable, ...) Apply function to every item of iterable and return a list of the results. If additional iterable arguments are passed, function must take that man

python进阶一(函数式编程)【2-2 python中的map函数】

2-2 python中的map()函数 python中map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 原文地址:https://www.cnblogs.com/ucasljq/p/11609544.html

Python中转变大小写的直接函数有以下方法

Python中转变大小写的直接函数有以下方法: upper()--所有字母大写 lower()--所有字母小写 capitalize()--首字母大写,其他字母小写 title()--所有单词首字母大写,其他小写 下面来看一个例子, 把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字.如输入:['adam', 'LISA', 'barT'],输出:['Adam', 'Lisa', 'Bart'] 1. 如果想要用title()函数,必须把列表写为字符串的形式,如下 2. 还可以用m

js中map和python中的map

js 中的map: 由于map()方法定义在JavaScript的Array中,我们调用Array的map()方法,传入我们自己的函数,就得到了一个新的Array作为结果: function pow(x) { return x * x; } var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]; arr.map(pow); // [1, 4, 9, 16, 25, 36, 49, 64, 81] var arr = [1, 2, 3, 4, 5, 6, 7, 8, 9];

python中os路径相关的函数 os.mkdir和os.makedirs

传送门:http://blog.csdn.net/shennongzhaizhu/article/details/51455063 在Python中可以使用os.mkdir()函数创建目录(创建一级目录). os.mkdir(path) 例如要在D盘下创建hello的目录 >>> import os >>> os.mkdir('d:\hello') 其原型如下所示: 其参数path 为要创建目录的路径(创建多级目录) >>> import os >

【python】filter,map和reduce函数介绍

filter(function, iterable)map(function, iterable)reduce(function, sequence) filter将 function依次作用于iterable的每个元素,如果返回值为true, 保留元素,否则从iterable里面删除.function必须返回是一个bool类型的函数.例如: def test(x): return (x > 3) filter(test, [1, 2, 3, 4, 5]) =====> [4, 5] map将

python中列表(list)函数及使用

序列是Python中最基本的数据结构.序列中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推. Python有6个序列的内置类型,但最常见的是列表和元组. 序列都可以进行的操作包括索引,切片,加,乘,检查成员. 此外,Python已经内置确定序列的长度以及确定最大和最小的元素的方法. 列表是最常用的Python数据类型,它可以作为一个方括号内的逗号分隔值出现. 列表的数据项不需要具有相同的类型 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可