2009/3/30 x-ip <[email protected]>:
> El lun, 30-03-2009 a las 11:52 -0300, Sebastian Dominguez escribió:
>> Luis escribió:
>> > [...]        try:
>> >             filtered = [{"aid" : album["aid"], "name" : album["name"]}
>> > for album in albums if album["aid"] == id][0]
>> >
>> >
>> Entiendo poco de python, pero no esta mal un corchete ahi? El primer
>> corchete se cierra luego del ultimo id y antes de los corchetes del
>> ultimo indice...
>>
> Esta bien seba, 'desarmando' la expresion resulta:
>
> (comienza la lista cohomprensiva)
> [
> {"aid" : album["aid"], "name" : album["name"]}
> for album in albums if album["aid"] == id] (cierra la lista)
>
> [0](devolver el primer elemento de la lista)

De todas formas me parece más entendible y mejor desarrollado hacer:

for album in albums:
    if album["aid"] == id:
        filtered = album
        break

Así no armás toda una lista de los elementos filtrados para luego solo
tomar el primero y además le ahorrás a todo el mundo perder 15 minutos
tratando de entender porque una list complehension que genera una
lista cuando que en verdad necesita solo un elemento...

PD: Seguramente hay una función de itertools super simple que lo hace
solo, pero en este momento estoy medio vago...


-- 
Saludos
Santi

_______________________________________________
Lugro mailing list
[email protected]
http://www.lugro.org.ar/mailman/listinfo/lugro

Responder a