avp26/u2/list_ops.py
Your Name 13453db2be u2
2026-09-29 14:33:15 +02:00

78 lines
1.1 KiB
Python

def append(list1, list2):
result = []
for element in list1:
result.append(element)
for element in list2:
result.append(element)
return result
def concat(lists):
result = []
for current_list in lists:
for element in current_list:
result.append(element)
return result
def filter(function, seq):
result = []
for element in seq:
if function(element):
result.append(element)
return result
def length(seq):
count = 0
for element in seq:
count += 1
return count
def map(function, seq):
result = []
for element in seq:
result.append(function(element))
return result
def foldl(function, seq, acc):
for element in seq:
acc = function(acc, element)
return acc
def foldr(function, seq, acc):
index = length(seq) - 1
while index >= 0:
acc = function(acc, seq[index])
index -= 1
return acc
def reverse(seq):
result = []
index = length(seq) - 1
while index >= 0:
result.append(seq[index])
index -= 1
return result