我希望生成一个长度为 N 的随机二进制字符串,以便均匀随机选择每个可能的 2^N 个字符串。请注意,以相同的概率选择 1 或 0 来构建字符串不起作用,因为字符串包含相同数量的 0 和 1 的概率很高,因此生成此类字符串的概率更高。另一种方法是生成所有 2^N 个字符串的列表,然后选择其中一个。但是,当 N 甚至 30 时,这很快变得不切实际。我需要使用 N = 500。我怎样才能做到这一点?如果python有这样的内置函数,那就更好了。
编辑 显然我提出了一个错误的问题;道歉。我想要的是字符串中 1 数量的均匀分布。所以只有两个 1 的字符串应该和所有 1 的字符串一样可能。我可以做到这一点。