From 13453db2be4cac75753f9362ac4a4be3e786a557 Mon Sep 17 00:00:00 2001 From: Your Name Date: Tue, 29 Sep 2026 14:33:15 +0200 Subject: [PATCH] u2 --- u2/list_ops.py | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 u2/list_ops.py diff --git a/u2/list_ops.py b/u2/list_ops.py new file mode 100644 index 0000000..f938bee --- /dev/null +++ b/u2/list_ops.py @@ -0,0 +1,77 @@ +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