已采纳回答 / 蜕丶变
def calc_prod(lst): def lazy_prod(): def f(x,y): return x*y return reduce(f,lst,1) return lazy_prodf = calc_prod([1, 2, 3, 4])print f()你定义了三个函数,第二层函数没有返回结果
2019-05-30
已采纳回答 / 燚燚生辉
print(list(filter(lambda s: s and len(s.strip())>0,['test', None, '', 'str', ' ', 'END'])))
2019-05-29
已采纳回答 / 幕布斯1502929
map作用于整个list的每个元素上,def format_name(s)函数将L中每个元素作为函数参数,返回每个元素的s[0],即首字母。而print L[0]输出的是L这个list中的第一个字符串。
2019-05-27
已采纳回答 / 荼灬
Python中的数据类型分为“不可变数据类型”和“可变数据类型”,不可变数据类型更改后地址发生改变,可变数据类型更改地址不发生改变。不可变数据类型,不允许变量的值发生变化,如果改变了变量的值,相当于是新建了一个对象。列表属于可变数据类型,浮点数属于不可变数据类型。而 s = s*i 是先调用等号右边 s*i 中的s,此时系统会新建一个名为s的对象,s将不再指向原来的1,后面也没有对s的赋值操作,因此此时s并没有值,所以会报未定义的错误。列表是可变数据类型,运用append之后并不会创建新的对象,因此...
2019-05-10
已采纳回答 / 人间世支离疏
t = time.ctime() *1000 if unit =='ms' else time.time()首先题目要求是获取计算时间第二time.ctime()返回易读的字符串模式的当前时间 t = time.ctime() *1000就肯定会出错,去掉*1000就不会打印了无数次 t
2019-05-06
已采纳回答 / 慕移动4262466
print filter(lambda s: s,len(s.strip()) > 0, ['test',None,"",'str',' ','END'])filter(函数,list)其中函数返回值是 True 或者False,然后filter 根据TRUE 或者false作用到后面的list中每个元素s,len(s.strip()) >0 相当于一个整体所以就不用再加 if进去。
2019-04-27
已采纳回答 / 慕标7383595
这个是因为在终端上写python与.py文件里写python不同,你先在终端上将函数定义好,不要写print语句,定义好后按回车,出三个箭头后输入print语句就能正常运行输出了<...图片...>
2019-04-27
已采纳回答 / 慕神7042524
import mathdef is_sqr(x): if int(math.sqrt(x))==1: return xprint filter(is_sqr, range(1, 101))当x=4时,sqrt(x)=2 不等于1,判断结束结果是[1, 2, 3]
2019-04-21
已采纳回答 / 夜半人寐
def calc_prod(1st):#不能是1st,数字开头了 def lazy_(): def f(x,y): return x*y return reduce(f,1st) return lazy_f = calc_prod([1, 2, 3,4])#中文逗号print f()
2019-04-20