[python] Python problém - elegantnější zápis

Petr Blahos petrblahos na gmail.com
Středa Listopad 20 20:01:29 CET 2013


>
> 2013/11/20  <bertikster na gmail.com>:
> > mám list objektu, a potřebuji zkontrolovat jestli se jeden určitý
> parametr objektu rovná proměnné, a chtěl bych se zeptat, jestli to jde
> udělat elegantněji než takhle? Jde nějak spojit první dva řádky? Jsem pořád
> docela začátečník v Pythonu, takže se předem omlouvám, pokud je to velmi
> jednoduché, nebo to nejde zjednodušit.
> >
> > for objekt in list_objektu:
> >     if "nazev"==objekt.name:
> >         # něco to dále dělá
>

(bez znalosti kontextu) si myslím, že to lépe nejde. To Tvoje je
určitě čitelnější, než dělat list comprehension nebo generator
expression. Jiná věc by byla, kdybys to takhle procházel mnohokrát
nebo hledal různé hodnoty. Pak by třeba mělo smysl udělat si dict:

name_objekt_map = collections.defaultdict(lambda:[])
for i in objekt:
  name_objekt_map[i.name].append(i)

for objekt in name_objekt_map["nazev"]:
    # něco to dále dělá

--
Petr
____________________
http://pysk.blog.root.cz/
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://www.py.cz/pipermail/python/attachments/20131120/96ba7c22/attachment.html>


Další informace o konferenci Python