The code works great, Thanks for the speedy response. The only problem
which I can see is that the code scales very bad with the size of n.
So, as I want a small subsection of the data (i.e lines where there are
only 4 1s, number in the code below) for a system where n is large(20).
The idea is
Luke Paireepinart [EMAIL PROTECTED] wrote
You could also do this by iterating in base-16 instead of base-10...
I was going to suggest the same but using octal which
has the same property but fewer values to map. :-)
hexmap =
{0:,1:0001,2:0010,3:0011,4:0100,5:0101,
Ah, in the case of looking for all n-digit bit-strings that contain exactly
m-1's, the recursive solution is even nicer. Here's how I think of it:
Base Case(s):
- if you want 0 1's (m==0) then return all 0's.
- if you want all 1's (n==m) then return all 1's.
Otherwise Recursive Case:
- return
Another simplest way of doing it is
from random import *
from sys import *
def bin_list(n):
bin_val = 0
if n = 0:
bin_val = 2**n - 1
list = []
while bin_val = 0:
list.append([((bin_val y) 1) for y in range(n-1,-1,-1)])
bin_val -= 1
shuffle(list)