45 lines
876 B
Python
45 lines
876 B
Python
def append(list1, list2):
|
|
result = []
|
|
for x in list1:
|
|
result = result + [x]
|
|
for x in list2:
|
|
result = result + [x]
|
|
return result
|
|
|
|
def concat(lists):
|
|
result = []
|
|
for list in lists:
|
|
append(result, list)
|
|
return result
|
|
|
|
def filter(function, list):
|
|
result = []
|
|
for x in list:
|
|
if function(x):
|
|
result = result + [x]
|
|
return result
|
|
|
|
def length(list):
|
|
lng = 0
|
|
for i in list:
|
|
lng += 1
|
|
return lng
|
|
|
|
def map(function, list):
|
|
result = []
|
|
for x in list:
|
|
result = result + [function(x)]
|
|
return result
|
|
|
|
def foldl(function, list, initial):
|
|
acc = initial
|
|
for x in list:
|
|
acc = function(acc, x)
|
|
return acc
|
|
|
|
def foldr(function, list, initial):
|
|
return foldl(function, reverse(list), initial)
|
|
|
|
def reverse(list):
|
|
result = list[::-1]
|
|
return result |