In [5]:
def twoMutiple(L):
if len(L)==2:
return [L[0]*L[1]]
elif len(L)==1:
return [L[0]]
else:
return [L[0]*L[1]]+twoMutiple(L[2:])
In [26]:
def max_u(L,c):
if len(L)==1:
return c
else:
return max_u(L[1:],max(L[0],c))
In [19]:
# 7.2
def maxium(L):
if len(L)==0:
return []
else:
return [L[0]]+list(filter(lambda x:x>L[0],maxium(L[1:])))
print(maxium([3,6,2,1,8,7,12]))
print(maxium([9,2,10,3,14,9]))
In [26]:
def Map(function,L):
if len(L) is 0:
return []
else:
return [function(L[0])]+Map(function,L[1:])
Map(lambda x:x+1,[4,5,6])
Out[26]:
In [2]:
b=[1,[2,[4],[5,[7],[8]]],[3,[6]]]
def p(L):
if len(L)==1:
return [L];
else:
data=L[0]
paths=[]
for items in L[1:]:
print([[data] + sublist for sublist in p(items)])
paths.extend([[data] + sublist for sublist in p(items)])
return paths
In [ ]: