avp26/u2/list_ops.py
2026-09-28 20:41:03 +02:00

46 lines
908 B
Python

def append(list1, list2):
result = []
for x in list1:
result = result + [x]
for x in list2:
result = result + [x]
return append
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:
if function(x) not in result:
result = result + [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