[Python] impostare una condizione costruendo una lista

simone gabbriellini simone.gabbriellini a gmail.com
Lun 18 Gen 2010 11:30:45 CET


Salve,

avrei un altro piccolo aiuto da chiedere sullo stesso tema del precedente. supponiamo di avere:

>>> [(i, e%20) for i in range(10, 20) for e in range(i+1,i+3)]

[(10, 11), (10, 12), (11, 12), (11, 13), (12, 13), (12, 14), (13, 14), (13, 15), (14, 15), (14, 16), (15, 16), (15, 17), (16, 17), (16, 18), (17, 18), (17, 19), (18, 19), (18, 0), (19, 0), (19, 1)]

naturalmente, questa volta gli ultimi tre non dovrebbero ricollegarsi a 0 ed 1, ma a 10 e 11:
(18,10),(19,10),(19,11)

esiste un modo? purtroppo non riesco a trovarlo...

grazie,
simone

Il giorno 16/gen/2010, alle ore 12.15, Pietro Battiston ha scritto:

> 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
> 
> _______________________________________________
> Python mailing list
> Python a lists.python.it
> http://lists.python.it/mailman/listinfo/python



Maggiori informazioni sulla lista Python