[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