Dobrý den,
v kurzu Python od geona - Lekce 9. jsem se zarazil u úlohy:
# Jinak fakt skvělý kurz, moc mě to baví :)

def porovnej(mestoSeznam):
   # definice funkce, která bude spolupracovat se sort()
   return mestoSeznam[1] # zde vracíme tu položku, podle které
chceme řadit

mesta=[['Praha', 1000000], ['Brno', 350000], ['Ostrava', 300000], [
'Zlin', 80000]]
mesta.sort(key=porovnej) # serad podle klice (= funkce) "porovnej"
print "Serazeno podle poctu obyvatel: ", mesta

V předposlednim řádku se pomoci metody sort() seřazuje seznam mesta
podle argumentu key=porovnej - dělá co má.

1) Jaktože arg mestoSeznam neni definovan a přece to bez něj nejde =
3. řádek nemůžu prostě nahradit return [1]
2) Proč najednou taková komplikace, doted se mi zdál Python jako 
jednoduchý, "intuitivní" jazyk :(
    Mnohem elegantnější mi přijde: mesta.sort(key=[1]) :) ach jo.

Koukal jsem na http://docs.python.org/lib/ a nenašel jsem nic co by
to vysvětlovalo. Špatně jsem koukal?
Snad někdo zná odpověd :) Děkuju za všechny reakce.

P.S.: Nevíte někdo jak bych se mohl "podívat do útrob" metody sort()
a vidět co tenhle kód dělá s argumentem key?
_______________________________________________
Python mailing list
[email protected]
http://www.py.cz/mailman/listinfo/python

Odpovedet emailem