how to compare...

Gerard Flanagan grflanagan at yahoo.co.uk
Tue Feb 13 04:30:24 EST 2007


On Feb 13, 5:03 am, "jairodsl" <jairo... at gmail.com> wrote:
> Hello everybody !
>
> I have two list, they are, S1=['A','B','C','D','E'], and
> S2=['F','G','H','I','J'], but i have to compare both in this way:
>
>                  A  vs J
>                  A  vs I,  B vs J
>                  A  vs H, B vs I, C vs J
>                  A  vs G, B vs H, C vs I,  D vs J
>                  A  vs F, B vs G, C vs H, D vs I, E vs J
>                  B  vs F, C vs G, D vs H, E vs I
>                  C  vs F, D vs G, E vs H
>                  D  vs F, E vs G
>                  E vs F

> Could someone give me any idea how to compare(or print) both list in
> this way ??? Thanks a lot !!!
>
> jDSL

def interleave( X, Y ):
    for i in range(1, len(Y)+1):
        yield zip(X, Y[-i:])
    for j in range(1, len(X)):
        yield zip(X[j:], Y)

x = ['A', 'B', 'C', 'D', 'E']
y = ['F', 'G', 'H', 'I', 'J']

for seq in interleave(x, y):
    print seq

[('A', 'J')]
[('A', 'I'), ('B', 'J')]
[('A', 'H'), ('B', 'I'), ('C', 'J')]
[('A', 'G'), ('B', 'H'), ('C', 'I'), ('D', 'J')]
[('A', 'F'), ('B', 'G'), ('C', 'H'), ('D', 'I'), ('E', 'J')]
[('B', 'F'), ('C', 'G'), ('D', 'H'), ('E', 'I')]
[('C', 'F'), ('D', 'G'), ('E', 'H')]
[('D', 'F'), ('E', 'G')]
[('E', 'F')]

Regards

Gerard




More information about the Python-list mailing list