Heiko Wundram <[EMAIL PROTECTED]> writes:
> def perm(n):
> rv = []
> for i in xrange(2L**n):
> cur = []
> for j in range(n):
> cur.append(1-2*(bool(i & (1<<j))))
> # cur is in reversed order LSB first, but as you seemingly don't
> # care about order of the returned tuples, this is irrelevant.
> rv.append(tuple(cur))
> return rv
def perm(n):
return [tuple([(1,-1)[(t>>i)%2] for i in xrange(n)])
for t in xrange(2L**n)]
>>> perm(4)
[(1, 1, 1, 1), (-1, 1, 1, 1), (1, -1, 1, 1), (-1, -1, 1, 1), (1, 1,
-1, 1), (-1, 1, -1, 1), (1, -1, -1, 1), (-1, -1, -1, 1), (1, 1, 1,
-1), (-1, 1, 1, -1), (1, -1, 1, -1), (-1, -1, 1, -1), (1, 1, -1, -1),
(-1, 1, -1, -1), (1, -1, -1, -1), (-1, -1, -1, -1)]
>>>
--
http://mail.python.org/mailman/listinfo/python-list