1樓:小小
def sum_list(list_):
if len(list_)==0:
return 0
else:
return list_[0] + sum_list(list_[1:])
2樓:greedisgood
import numpy as np
def cumsum(list):
return np.array(list).cumsum().tolist()
3樓:room song
Julia:
>> L = [1, 2, 3, 2, 2] #表示無序,而不是順序
>> map(x->mapreduce(y->y,+,L[1:x]),collect(1:1:length(L)))
4樓:
L=[1,2,
3,4,
5]t_sum=0
defplus(x
):global
t_sum
t_sum+=x
return
t_sum
map(
lambdax:
plus(x
),L)可惜python的+=不是個表示式
5樓:
#!/usr/bin/env python# -*- coding: utf-8 -*-import
timeitL=
range
(100
)[::3]
deftest1
():return
reduce
(lambdal,
e:l+
[l[-
1]+e
],L,[
0])[1:]
deftest2
():return
reduce
(lambdal,
e:l.
(l[-
1]+e
)orl,
L,[0
])[1
:]class
consumor
(object
):def
__init__
(self
,nums
):self
.nums
=nums
self
.length
=len
(nums
)def
__iter__
(self
):self
.cursor=0
self
.lastsum=0
return
self
defnext
(self
):if
self
.cursor
.length :cur_val =self .nums [self .cursor ]self .cursor+=1 self .lastsum +=cur_val return self .lastsum else :raise StopIteration ()def test3 ():return list (consumor(L ))print test1 ()== test2 ()== test3 ()print timeit .timeit (test1 )print timeit .timeit (test2 )print timeit .timeit (test3 )執行結果 jyf@brix:~/hack/python$ python consum.py True 9.76863884926 5.53098297119 14.5979530811 6樓:袁侃 nums = [1,2,3,4,5,6] cumsum_nums =[num+sum(nums[:idx]) for idx, num in enumerate(nums)] 你是這個意思嗎… 7樓: K(Exception ):pass def_tc(f ,*xs): raiseK( f,xs) defrun_tc(f ,*xs): defkeep ():passr= None classR: def__del__ (self ):nonlocalf, xs,rtry:r =f(* xs)exceptKas k:(f ,xs)= k.argsR() R()keep ()return rdef foldl(f ,z,xs ,ix=0 ):try:x =xs[ix ]except :return zelse :return _tc( foldl,f ,f(z ,x),xs,ix +1)deftc( f):deff_(* xs): return run_tc(f ,*xs) return f_@tc defcum_sum(xs ):x,* xs=xsdeff( z,x): z.(z [-1] +x)return zreturn foldl(f ,[x], xs)print ('cum_sum -> %s' %cum_sum([1 ,2,3 ,4,5 ]))# 值得一提的是,這樣寫我們並不會 stack overflow: def_sum_tail(n ,s=0 ):if n<=0: return selse :return _tc( _sum_tail,n -1,s +n)sum_tail=tc (_sum_tail )print ('sum_tail -> %s' %sum_tail (1000000)) 8樓: def f(L): if Lreturn L elsereturn [L[0]] + map(lambda x: x + L[0], f(L[1print f([1,2,3,4,5]) 9樓:任衛 1eval("+".join([str(i) for i in L])) 列表解析算迴圈不 2reduce(lambda x,y : x+y, L,0) 為什麼一定要分出個誰超越誰,根據具體問題,哪個快用哪個。至少在CFD領域,不可能,開玩笑呢 我覺得插值 求導 優化,常用的演算法兩種有區別嗎?兩者應用側重不同吧。Python在不用numba或cython的情況下,比MATLAB慢太多了。科學計算的將來是Julia。解大規模線性方程組numpy裡面的... levi a parameter is a variable which we use in the function definition that is a handle that allows the code in the function to access the arguments f... 青牛 你好。Numpy提供的多項式函式對多項式係數的陣列進行運算,主要函式包括 np.poly,np.polyadd,np.polydiv,np.polyint,np.polysub,np.poly1d,np.polyder,np.polyfit,np.polymul,np.polyval等 hen...在科學計算方面,Python已經超過MATLAB了麼?
在Python中,parameters與argument有什麼不同?
怎樣使用 Python 計算多項式的值?