# Initialize variables
holes, bk = HOLES[:],   {} ;
random.shuffle( holes )

# Make buckets
[ bk.setdefault(y, []).append((x,y)) for x, y in holes ]

# Result
print [ bk[3].pop(0), bk[4].pop(0), bk[5].pop(0) ] + random.sample(
bk[3] + bk[4] + bk[5], 3 )

Some times the crude method is the best method ?

A crude analysis on the above logic and number of passes made on the
sample list.
1. To copy HOLES to holes
2. To shuffle holes using random.shuffle()
3. To make buckets
4. random.sample() is another crude algorithm which seems to be in
between O(n) and O(n^2) - a wild guess.
_______________________________________________
BangPypers mailing list
BangPypers@python.org
http://mail.python.org/mailman/listinfo/bangpypers

Reply via email to