gpt4 book ai didi

python - 在python中生成唯一的随机二进制数组

转载 作者:行者123 更新时间:2023-11-28 21:37:09 28 4
gpt4 key购买 nike

我想生成200个大小为30的随机二进制数组,但我需要它们都是唯一的!我使用以下命令生成数组:

import numpy as np

parents = []
for i in range(200):
parents.append(np.random.choice([0, 1], size=(30)))
parents = np.vstack(parents)

以这种方式生成的数组是否已经是唯一的(如果是,我如何检查)?如果没有,如何修改代码以获得唯一数组?

最佳答案

如果长度足够大,生成两个相等阵列的概率非常低。拒绝抽样将非常快:

import numpy as np

parents = set()
while len(parents) < 200:
a = tuple(np.random.choice([0, 1], size=(30)))
if a not in parents: parents.add(a)
parents = np.array([list(x) for x in parents])

而且,使用set()进行成员资格检查比使用数组更快。

关于python - 在python中生成唯一的随机二进制数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50144888/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com