python笔记——filter/lambda/all
python笔记——filter/lambda/all
all函数
all()函数用于判断给定的可迭代参数 iterable 中的所有元素是否都为 TRUE,如果是返回 True,否则返回 False。
语法:all(iterable)
list1 = [1, 2, 3, 4, ' ']
list2 = [1, 2, 3, 4, '']
list3 = [3, 4, 5, 6]
list4 = [1, 2, 3, 4, 5, 6]
x = all(list1)
y = all(list2)
z = all(list3)
rs = all([i in list2 for i in list1])
rs2 = all([i in list4 for i in list3])
print(x)
print(y)
print(z)
print(rs)
print(rs2)
运行结果:
True
False
True
False
True
lambda函数
匿名函数,通俗地说就是没有名字的函数,lambda函数没有名字,是一种简单的、在同一行中定义函数的方法。
语法:lambda arguments : expression
list3 = [3, 4, 5, 6]
list4 = [1, 2, 3, 4, 5, 6]
x = lambda j: all([i in j for i in list3])
print(x(list4))
运行结果:
True
扩展:lambda只是一个表达式,可以作为list的成员
list = [lambda a:a**2, lambda a:a**3]
print(list[0])
g = list[0]
k = list[1]
print(g(2))
print(k(3))
运行结果:
<function del_host_from_syshosts.<locals>.<lambda> at 0x00000195A2496A60>
4
27
filter函数
python里的过滤器,filter()函数用于过滤可迭代对象中不符合条件的元素
语法:filter(function,iterable)
list3 = ['3', '4']
list4 = ['1', '2', '334', '3 4', '5', '6']
fl = filter(lambda j: all([i in j for i in list3]), list4)
print(list(fl))
运行结果:
['334', '3 4']

浙公网安备 33010602011771号