como formar grupos con los componentes de una lista

lasizoillo lasizoillo en gmail.com
Mie Ago 27 22:57:56 CEST 2008


El día 27 de agosto de 2008 22:18, Chema Cortes <py en ch3m4.org> escribió:
> El Wednesday 27 August 2008 17:13:58 Jose Caballero escribió:
>> Hola Chema,
>>
>> acabo de probar el segundo ejemplo, y tiene el mismo problema que el
>> primero.
>> Creo que el problema que Francisco plantea se puede entender mejor si
>> escribimos el resultado que se desea obtener de la siguiente forma:
>>
>> lista2 = [
>>                  [['1', '2'],  ['3', '1']],
>>                  [['5', '11'],  ['11', '7'],  ['4', '5']],
>>                  [['8', '6'], ['8', '9']]
>>               ]
>>
>>
>> Tal vez lo que propone Javi (?) sea un buen enfoque.
>
>
> ¡Ah, bueno! Lo había leído muy rápido.
>
> Entiendo, pues, que lo que se quiere sacar son sublistas con todos los pares
> que estén relacionados con el primer par de la sublista, tal que así:
>
>
> lista2= [ [x]+[y for y in lista if x!=y and any(True for i in x if i in y)]
>           for x in lista  ]
>

Tu lista 2 da:
[[['1', '2'], ['3', '1']],
 [['5', '11'], ['11', '7'], ['4', '5']],
 [['11', '7'], ['5', '11']],
 [['8', '6'], ['8', '9']],
 [['4', '5'], ['5', '11']],
 [['8', '9'], ['8', '6']],
 [['3', '1'], ['1', '2']]]


Su lista 2 daba
[[['1', '2'], ['3', '1']],
 [['5', '11'], ['11', '7'], ['4', '5']],
 [['8', '6'], ['8', '9']]]
:

Si no has llegado a probarlo me hace pensar que eres capaz de escribir
esos "chorizos" de código funcional como el que chatea por el jabber.
¿Programas en algún lenguaje funcional como haskell o erlang?

Un saludo:

Javi
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes





Más información sobre la lista de distribución Python-es