diff --git a/u2/list_ops.py b/u2/list_ops.py index bc1d92e..29d0a79 100644 --- a/u2/list_ops.py +++ b/u2/list_ops.py @@ -6,24 +6,28 @@ def append(list1, list2): result += [item] return result + def concat(lists): result = [] for sublist in lists: result = append(result, sublist) return result + def filter(function, lst): result = [] - for item in list: + for item in lst: if function(item): result += [item] return result + def length(lst): result = 0 - for item in lst: - result +=1 - return result + for _ in lst: + result += 1 + return result + def map(function, lst): result = [] @@ -31,20 +35,23 @@ def map(function, lst): result += [function(item)] return result + def foldl(function, lst, initial): acc = initial for item in lst: acc = function(acc, item) - return acc - -def foldr(function, lst, initial): - acc = initial - for acc in lst: - acc = function(acc, item) return acc + def reverse(lst): result = [] - for item in reverse(lst): + for item in lst: result = [item] + result - return result \ No newline at end of file + return result + + +def foldr(function, lst, initial): + acc = initial + for item in reverse(lst): + acc = function(acc, item) + return acc \ No newline at end of file