Commit 1181c3a8 authored by Martin Mareš's avatar Martin Mareš
Browse files

Lambda: Příklady

parent 0487041b
# Seřadí primárně podle příjmení, sekundárně podle jména
def serad(jmena):
def klic(jp):
jmeno, prijmeni = jp.split()
return prijmeni, jmeno
return sorted(jmena, key=klic)
# Jiné řešení
def serad2(jmena):
return sorted(jmena, key=lambda jp: jp.split()[::-1])
jmena = ["Vodník Česílko", "Jelen Větrník", "Loupežník Rumcajz", "Kapr Kulda"]
print(serad(jmena))
def red(s, f):
x = s[0]
for i in range(1, len(s)):
x = f(x, s[i])
return x
def prvni_nenulovy(s):
def f(x, y):
if x != 0:
return x
else:
return y
return red(s, f)
# Zde předpokládáme, že seznam neobsahuje None
# (dalo by se to obejít tak, že bychom místo None použili jakýkoliv
# nově vytvořený objekt, třeba prázdný seznam)
def vsechny_stejne(s):
def g(x, y):
if x is None or x != y:
return None
else:
return x
return red(s, g) is not None
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment