下面两个匿名函数能不能转换成普通函数,并打印出结果
list(filter(lambda x:x if x%3==0 else None,range(100)))list(filter(lambda x:x%3==0,range(100))) 你是指lambda x:x if x%3==0 else Nonelambda x:x%3==0这两个匿名函数转化为普通函数?? 很简单啊
def func1(x):
return x % 3 == 0
def func2(x):
if x % 3 == 0:
return x
else:
return None def func(x):
if x%3==0:
return x
return None
print(list(filter(func,range(100))))def func(x):
return x%3==0
print(list(filter(func,range(100)))) 永恒的蓝色梦想 发表于 2020-4-27 17:11
麻烦问一下,为什么第一个结果没有0,第二个结果有0吗 永恒的蓝色梦想 发表于 2020-4-27 17:11
是不是因为第一个x=0时return 0,所以不输出,但是第二个return的是1 努力去见你 发表于 2020-4-27 17:16
麻烦问一下,为什么第一个结果没有0,第二个结果有0吗
第一个函数在传入 0 的时候 ,因为 0%3==0 ,所以会返回 0,但是 0 是假值
第二个函数 则会返回 True qiuyouzhi 发表于 2020-4-27 17:11
很简单啊
这个我知道,最后打印没打印明白,现在知道了
页:
[1]