96 lines
2.2 KiB
Python
96 lines
2.2 KiB
Python
def append(list1, list2):
|
|
a = list(list1)
|
|
b = list(list2)
|
|
c = list(a + b)
|
|
return c
|
|
"""Vráti nový zoznam obsahujúci všetky prvky list1, po ktorých nasledujú všetky prvky list2."""
|
|
pass
|
|
|
|
|
|
def concat(lists):
|
|
result = []
|
|
if lists == []:
|
|
return []
|
|
|
|
|
|
for i in lists:
|
|
if i != []:
|
|
result += i
|
|
return result
|
|
"""Spojí zoznamy obsiahnuté v lists do jedného zoznamu.
|
|
Sploštenie sa vykoná iba na jednej úrovni; vnorené zoznamy sa ďalej nesplošťujú."""
|
|
pass
|
|
|
|
|
|
def filter(function, seq):
|
|
result = []
|
|
for i in seq:
|
|
if function(i) == True:
|
|
result.append(i)
|
|
else:
|
|
continue
|
|
return result
|
|
"""Vráti nový zoznam s tými prvkami, pre ktoré volanie function(element) vráti True."""
|
|
pass
|
|
|
|
|
|
def length(seq):
|
|
a = 0
|
|
for i in seq:
|
|
a += 1
|
|
return a
|
|
"""Vráti počet prvkov v zozname."""
|
|
pass
|
|
|
|
|
|
def map(function, seq):
|
|
result = []
|
|
if seq == []:
|
|
return []
|
|
for i in seq:
|
|
a = function(seq[i])
|
|
result.append(a)
|
|
return result
|
|
"""Vráti nový zoznam, ktorého prvky vzniknú aplikovaním function(element) na každý prvok pôvodného zoznamu v pôvodnom poradí."""
|
|
pass
|
|
|
|
|
|
def foldl(function, seq, acc):
|
|
if seq == []:
|
|
return acc
|
|
for i in seq:
|
|
acc =function(acc, i)
|
|
return acc
|
|
"""Spracuje prvky zľava doprava. Akumulácia začína hodnotou acc a pri každom prvku sa použije volanie function(accumulator, element)."""
|
|
pass
|
|
|
|
|
|
def foldr(function, seq, acc):
|
|
if seq == []:
|
|
return acc
|
|
a = 0
|
|
for i in seq:
|
|
a += 1
|
|
i = a - 1
|
|
while i >=0:
|
|
acc = function(acc, seq[i])
|
|
i -= 1
|
|
return acc
|
|
"""Spracuje prvky sprava doľava. Akumulácia začína hodnotou acc a pri každom prvku sa použije volanie function(accumulator, element)."""
|
|
pass
|
|
|
|
|
|
def reverse(seq):
|
|
if seq == []:
|
|
return seq
|
|
a = 0
|
|
for i in seq:
|
|
a += 1
|
|
i = a -1
|
|
b = []
|
|
while i >=0:
|
|
b.append(seq[i])
|
|
i -= 1
|
|
return b
|
|
"""Vráti nový zoznam s prvkami v opačnom poradí."""
|
|
pass |