[perl-python] generate all possible pairings
Xah Lee
xah at xahlee.org
Tue Mar 1 23:06:01 EST 2005
Answer to the previous exercise.
http://xahlee.org/perl-python/generate_pairings.html
# perl
sub genpair ($) {
my $partiSet = $_[0];
my @result;
for (my $head =0; $head <= ((scalar @$partiSet)-2); $head++ ) {
for (my $tail = $head+1; $tail <= ((scalar @$partiSet)-1); $tail++
) {
foreach my $ii (@{$partiSet->[$head]}) {
foreach my $jj (@{$partiSet->[$tail]}) {
push @result, [$ii,$jj]
}
}
}
}
return \@result;
}
@# python
@def genpair (partiSet):
@ result=[]
@ for head in range(len(partiSet)-1):
@ for tail in range(head+1,len(partiSet)):
@ for ii in partiSet[head]:
@ for jj in partiSet[tail]:
@ result.append((ii,jj))
@ return result
@
@# by Sean Gugler
@def genpair2 (partiSet):
@ return [(a,b) for s in range(len(partiSet))
@ for t in range(s)
@ for a in partiSet[t]
@ for b in partiSet[s]]
@
@ll=( [[9,1],[5],[2,8,7]])
@t=genpair(ll)
@t2=genpair2(ll)
@if (t.sort()==t2.sort()): print 'yay'
Xah
xah at xahlee.org
http://xahlee.org/PageTwo_dir/more.html
More information about the Python-list
mailing list