avp26/u2/list_ops.py
2026-10-01 12:01:14 +00:00

44 lines
1.0 KiB
Python

def append(list1, list2):
result = []
for item in list1 :
result = result + [item]
for item in list2 :
result = result + [item]
return result
def concat(lists):
result = []
for item in lists:
result = append(result, item)
return result
def filter(function, list):
res = []
for item in list:
if function(item) :
res = res + [item]
return res
def length(list) :
counter = 0
for item in list:
counter = counter + 1
return counter
def map(function, list) :
res = []
for item in list:
res = res + [function(item)]
return res
def foldl(function, list, initial):
final = initial
for item in list:
final = function(final, item)
return final
def foldr(function, list, initial):
final = initial
for item in reverse(list):
final = function(final, item)
return final
def reverse(list):
result = []
for item in list:
result = [item] + result
return result