[Python] soluzione con modulo itertools

Lorenzo Buonanno buonanno.lorenzo a gmail.com
Ven 4 Maggio 2018 19:38:31 CEST


Usa ['n1', 'n2', 'n3', 'n4'] al posto di 'abcde'.

Tieni presente che con product ti becchi anche ['n1', 'n1', 'n1', 'n1'],
forse vuoi usare permutations(lista, r=4)


On Fri, May 4, 2018, 19:31 Carpediem <i.carpediem a tiscali.it> wrote:

> Buonasera a tutti,
>
> oggi stavo cercando una soluzione per risolvere un problema che a farlo
> manualmente mi ha portato via molto tempo lasciandomi anche il dubbio
> che tutto sia ok: ho 5 nomi che devo incrociare tra loro prendendone 4
> alla volta. Le combinazioni buone sono tutte quelle possibili per cui,
> ad esempio, nome1, nome2, nome3, nome4 è cosa diversa da nome1, nome2,
> nome4, nome3 e così via.
>
> In rete ho trovato qualcosa che riguarda il modulo itertools che si
> avvicina molto al risultato che voglio ottenere:
>
> from itertools import product
> combo_pack = product("abcde", repeat = 4)
> for combo in combo_pack:
>     print ("".join(combo))
>
> il risultato è l'incrocio di ognuna delle singole lettere prese quattro
> per volta escludendo di volta in volta la quinta lettera.
>
> La domanda è la seguente: come faccio ad ottenere lo stesso risultato
> chiedendo di incrociare non le 5 lettere di una singola stringa ma le 5
> stringhe di cui vi parlavo?
>
> Grazie.
>
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> https://lists.python.it/mailman/listinfo/python
>
-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: <http://lists.python.it/pipermail/python/attachments/20180504/b80b70ac/attachment.html>


Maggiori informazioni sulla lista Python