[Python] impostare una condizione costruendo una lista
Pietro Battiston
toobaz a email.it
Sab 16 Gen 2010 12:15:06 CET
Il giorno sab, 16/01/2010 alle 11.45 +0100, simone gabbriellini ha
scritto:
> Salve,
>
> sto cercando di costruire una lista di tuple, in questo modo:
>
> >>> [ (i, e) for i in range(0,11) for e in range(i+1,3+i) ]
>
> [(0, 1), (0, 2), (1, 2), (1, 3), (2, 3), (2, 4), (3, 4), (3, 5), (4, 5), (4, 6), (5, 6), (5, 7), (6, 7), (6, 8), (7, 8), (7, 9), (8, 9), (8, 10), (9, 10), (9, 11), (10, 11), (10, 12)]
>
> dato che queste coppie rappresentano collegamenti tra dieci nodi di un grafo regolare, vorrei riuscire ad impostare una condizione tale per cui le ultime tre tuple diventino:
>
> (9, 1) (10, 1) (10, 2)
>
> è possibile ottenere questo risultato direttamente all'interno di questa lista oppure devo costruirne una seconda e poi unirle?
>
Se fai solo questo cambiamento, hai indici da 0 a 11, quindi se ho
capito cosa intendi bene hai _undici_ nodi di un grafo.
Ammettendo quindi che l'11 da sostituire con un 10, ti torna
[ (i, e%10) for i in range(10) for e in range(i+1,3+i) ]
o se preferisci
[ (i+1, e%10+1) for i in range(10) for e in range(i+1,3+i) ]
?
ciao
Pietro
Maggiori informazioni sulla lista
Python