Skip to content

Instantly share code, notes, and snippets.

@janaslo
Created October 31, 2018 21:25
Show Gist options
  • Save janaslo/8228b5cdc0fe4b4e5b2f6adc6ddf6da0 to your computer and use it in GitHub Desktop.
Save janaslo/8228b5cdc0fe4b4e5b2f6adc6ddf6da0 to your computer and use it in GitHub Desktop.
def roztrid_1(seznam_slov):
"""Funkce bere jako parametr seznam řetězců, který roztřídí
podle počátečního písmena: návratovou hodnotou je slovník,
kde je klíčem vždy první písmeno a hodnotou řetězec, který
na toto písmeno začíná.
Nejsou nijak ošetřeny kolize - pokud na stejné písmeno
začíná více slov ze seznamu, ve výsledném slovníku
se objevuje jen poslední z nich.
"""
vysledek = {}
for slovo in seznam_slov:
prvni_pismeno = slovo[0]
vysledek[prvni_pismeno] = slovo
return vysledek
def roztrid_2(seznam_slov):
"""Funkce bere jako parametr seznam řetězců, který roztřídí
podle počátečního písmena: návratovou hodnotou je slovník,
kde je klíčem vždy první písmeno a hodnotou seznam řetězců,
které na toto písmeno začínají.
"""
vysledek = {}
for slovo in seznam_slov:
prvni_pismeno = slovo[0]
if prvni_pismeno not in vysledek: # pokud tento klíč ještě nemáme ...
vysledek[prvni_pismeno] = [] # ... přidáme prázdný seznam
vysledek[prvni_pismeno].append(slovo)
return vysledek
ovoce = ['jablko', 'meloun']
ovoce_s_opakovanim = ['jablko', 'meloun', 'jahoda']
print(roztrid_1(ovoce)) # {'j': 'jablko', 'm':'meloun'}
print(roztrid_1(ovoce_s_opakovanim)) # {'j': 'jahoda', 'm': 'meloun'}
print(roztrid_2(ovoce)) # {'j': ['jablko'], 'm':['meloun']}
print(roztrid_2(ovoce_s_opakovanim)) # {'j': ['jablko', 'jahoda'], 'm':['meloun']}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment