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í.""" pass 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).""" pass 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).""" pass def reverse(seq): """Vráti nový zoznam s prvkami v opačnom poradí.""" pass