gpt4 book ai didi

python - 生成所有 n 选择 k 个二元向量 python

转载 作者:行者123 更新时间:2023-12-05 02:42:01 28 4
gpt4 key购买 nike

是否有任何有效的方法(numpy 风格)来生成所有 n 选择 k 个二元向量(有 k 个)?例如,如果 n=3k=2,那么我想生成 (1,1,0), (1,0,1), (0,1,1)

谢谢

最佳答案

我不知道这样效率如何,但这里有一个方法:

from itertools import combinations
import numpy as np

n, k = 5, 3


np.array(
[
[1 if i in comb else 0 for i in range(n)]
for comb in combinations(np.arange(n), k)
]
)
>>>
array([[1., 1., 1., 0., 0.],
[1., 1., 0., 1., 0.],
[1., 1., 0., 0., 1.],
[1., 0., 1., 1., 0.],
[1., 0., 1., 0., 1.],
[1., 0., 0., 1., 1.],
[0., 1., 1., 1., 0.],
[0., 1., 1., 0., 1.],
[0., 1., 0., 1., 1.],
[0., 0., 1., 1., 1.]])

关于python - 生成所有 n 选择 k 个二元向量 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67847435/

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