u2
This commit is contained in:
parent
759cd5bea1
commit
13453db2be
77
u2/list_ops.py
Normal file
77
u2/list_ops.py
Normal file
@ -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
|
||||
Loading…
Reference in New Issue
Block a user