I am trying to write a function which chooses integers randomly from arbitrarily nested lists while maintaining order and the structure of the lists (though empty lists can be ignored).
For example, running listrand([1,2,3,[3,4],[65,[3]]])
3 times might give:
[1, 3, [3], [65[3]]]
[1, 2, [[3]]]
[[3, 4], [65]]
The catch is I need it to be uniformly distributed, so I can't use something like
sample = [[random.sample(mylist)] for mylist in listoflists]
because that would be binomial.
At a minimum I need this to work for single-level nesting. I thought about sampling from a flattened list but then I'm not sure how to use those to construct the desired output.
Aucun commentaire:
Enregistrer un commentaire