From 69c3ce92bed0f744d2f896e43cb674ec05e1b1f9 Mon Sep 17 00:00:00 2001 From: Volodymyr Baliasnikov Date: Thu, 1 Oct 2026 17:25:26 +0200 Subject: [PATCH] 1-4 task --- u2/list_ops.py | 63 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 u2/list_ops.py diff --git a/u2/list_ops.py b/u2/list_ops.py new file mode 100644 index 0000000..7f94277 --- /dev/null +++ b/u2/list_ops.py @@ -0,0 +1,63 @@ +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