最新回答 / 疯狂的王
print filter(lambda s: s if len(s.strip()) > 0, ['test', None, '', 'str', ' ', 'END'])这里不能用if , 这种写法的逻辑是if如果满足为真就返回s。但是filter()函数里面包含两个参数,第一个是一个判断语句,第二个是一个list如果第一个参数返回了s,肯定出现语法错误
2018-07-23
最新回答 / 拾荒丶
老师 ppt上的是return f(x) 因为f1函数在f1=new_fn(f1)的时候已经作为参数传入了new_fn(f)这个函数即参数f就是你传入的f1函数
2018-07-22
已采纳回答 / 慕仙9155446
def f(x, y):返回的两个数的乘积 reduce函数是提取列表里面的两个数值进行f函数运算 lazy_prod()和 calc_prod(lst)是这节课讲的函数 你仔细看看 在复习一下reduce函数就可以了运行的时候f = calc_prod([1, 2, 3, 4]),f是返回的return lazy_prod ,是函数对象 参数已经传进去了 在 f(x, y)里面 返回的函数对象f()调用一下就有结果了
2018-07-22
已采纳回答 / qq_是个头
1 def count(): 2 fs = [] 3 for i in range(1, 4): 4 def f(j): 5 def g(): 6 return j*j 7 return g 8 r = f(i) 9 ...
2018-07-22
最新回答 / Icci
import mathdef is_sqr(x): return x and math.sqrt(x)%1==0 # and 后的语句作为判断该数(即x)是否为整数print filter(is_sqr,range(1,101))
2018-07-20
最赞回答 / Lucien_Liu_0001
s and len(s.strip()) 你需要先清楚 and 这个逻辑运算符的作用,is_not_empty 方法 返回的是这个逻辑运算的结果,当 s 为空字符时(即'')那么 and 前面的 s 为空字符会直接返回False,如果 s 不为空那么再判断 and 后面的 len(s.strip()) ,所以最终结果一定是一个值,而不是两个值。主要因为,Python把0、空字符串''和None看成 False
2018-07-20