82 lines
2.1 KiB
Python
82 lines
2.1 KiB
Python
def append(list1, list2):
|
||
"""Vráti nový zoznam obsahujúci všetky prvky list1, po ktorých nasledujú všetky prvky list2."""
|
||
result = []
|
||
|
||
for elm in list1:
|
||
result.append(elm)
|
||
|
||
for elm in list2:
|
||
result.append(elm)
|
||
|
||
return result
|
||
|
||
def concat(lists):
|
||
"""Spojí zoznamy obsiahnuté v lists do jedného zoznamu.
|
||
Sploštenie sa vykoná iba na jednej úrovni; vnorené zoznamy sa ďalej nesplošťujú."""
|
||
|
||
result = []
|
||
|
||
for lst in lists:
|
||
for eln in lst:
|
||
result.append(eln)
|
||
|
||
return result
|
||
|
||
|
||
def filter(function, seq):
|
||
"""Vráti nový zoznam s tými prvkami, pre ktoré volanie function(element) vráti True."""
|
||
result = []
|
||
|
||
for elm in seq:
|
||
if function(elm):
|
||
result.append(elm)
|
||
|
||
return result
|
||
|
||
|
||
def length(seq):
|
||
"""Vráti počet prvkov v zozname."""
|
||
cislo = 0
|
||
|
||
for elm in seq:
|
||
cislo += 1
|
||
return cislo
|
||
|
||
|
||
def map(function, seq):
|
||
"""Vráti nový zoznam, ktorého prvky vzniknú aplikovaním function(element) na každý prvok pôvodného zoznamu v pôvodnom poradí."""
|
||
cislo = []
|
||
|
||
for elm in seq:
|
||
cislo.append(function(elm)) # сначало выполняеться function(elm) которая множит на 2, а потом append который записывает
|
||
|
||
return cislo
|
||
|
||
|
||
def foldl(function, seq, acc):
|
||
"""Spracuje prvky zľava doprava. Akumulácia začína hodnotou acc a pri každom prvku sa použije volanie function(accumulator, element)."""
|
||
|
||
for elm in seq:
|
||
acc = function(acc, elm)
|
||
|
||
return acc
|
||
|
||
|
||
def foldr(function, seq, acc):
|
||
"""Spracuje prvky sprava doľava. Akumulácia začína hodnotou acc a pri každom prvku sa použije volanie function(accumulator, element)."""
|
||
|
||
for elm in seq[::-1]: # [::-1] [Где начать : где закончить : шаг, типо в какую сторону идти]
|
||
acc = function(elm, acc)
|
||
|
||
return acc
|
||
|
||
|
||
def reverse(seq):
|
||
"""Vráti nový zoznam s prvkami v opačnom poradí."""
|
||
reverse_seq = []
|
||
|
||
for elm in seq[::-1]:
|
||
reverse_seq.append(elm)
|
||
|
||
return reverse_seq
|