[LUG.ro] consulta de python
Santiago Suarez Ordoñez
santiycr en gmail.com
Lun Mar 30 13:07:12 ART 2009
2009/3/30 x-ip <edvm en rcom.com.ar>:
> 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
Más información sobre la lista de distribución Lugro