[Python] trovare i giusti valori

Giovanni Porcari giovanni.porcari a softwell.it
Lun 2 Nov 2009 19:37:05 CET


Il giorno 02/nov/2009, alle ore 14.09, Marco Beri ha scritto:

> 2009/11/2 Giovanni Porcari <giovanni.porcari a softwell.it>
> "Dispongo di una meravigliosa list-comprehension di una riga, che però
> non può essere contenuta nel margine troppo stretto di questa mail"
>  (Marco Fermat Beri)
> ;)
>
> :-)))
>
> Al limite potevi dire Marco Infermat Beri.
>
> Comunque mi sorge il dubbio che non sia arrivata in lista la riga in  
> questione.
> La rimando.
>
> >>> from itertools import combinations
> >>> l, tot = range(1, 8), 23
>
> >>> [c for i in range(len(l)) for c in combinations(l, i) if sum(c)  
> == tot]
>
> [(1, 4, 5, 6, 7), (2, 3, 5, 6, 7), (1, 2, 3, 4, 6, 7)]
>
> Ciao.
> Marco.
>


Ti confesso che avevo letto distrattamente il tuo messaggio che diceva:
"Ok, ok, con la list-comprehension si fa in una riga" e, nota la tua
innata passione per le sfide impossibili, avevo creduto che avessi
trovato un modo di farlo in una sola riga SENZA usare combinations.
Ammirato da simile ingegnosità avevo sperato di vedere codesto mirabile
parto ;).
Si vede che mi sto rincoglionendo sempre di più... :D

G



Maggiori informazioni sulla lista Python