列表推导式
# 过滤掉长度小于3的字符串列表,并将剩下的转换成大写字母l1 = ['太白金星', 'fdsaf', 'alex', 'sb', 'ab']print([ i.upper() for i in l1 if len(i) >= 3])#out:['太白金星', 'FDSAF', 'ALEX']
匿名函数
num_to_ipv4 = lambda x: '.'.join([str(int(x/(256**i)%256)) for i in range(3,-1,-1)])ipv4_to_num = lambda x:sum([256**j*int(i) for j,i in enumerate(x.split('.')[::-1])])
map函数
map()会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
返回值:Python 2.x 返回列表,Python 3.x 返回迭代器。
res = lambda x: x**2test = map(res, [2, 3 ,4])print(test.__next__(), test.__next__(), test.__next__())#out:4 9 16
filter函数
filter()函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判断,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
返回值:Python 2.x 返回列表,Python 3.x 返回迭代器。
res2 = lambda x: len(x) > 3print(list(filter(res2, ["12323", "1223", "abc"])))#out:['12323', '1223']
如果觉得《Python匿名函数和高阶函数》对你有帮助,请点赞、收藏,并留下你的观点哦!