已采納回答 / 蛻丶變
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