gpt4 book ai didi

python - 生成具有固定位置的二进制组合 (Python)

转载 作者:行者123 更新时间:2023-12-02 02:11:11 27 4
gpt4 key购买 nike

我想生成大小为 n=16 的 0/1 的所有可能组合的元组列表,但其中某些位置是固定的。因此某些位置固定为 0 或 1 (x,x,x,x,1,x,x,x,0,0,x,x,x,x,x,x)。我知道我们可以使用 itertools 来生成所有可能的组合,而无需任何固定位置:

import itertools

permutations = list(itertools.product([0, 1], repeat=16))

我正在考虑用repeat=13生成所有组合,然后插入固定位置,但这对我来说似乎太麻烦了。有没有更简单、更快的方法来实现这一目标?

最佳答案

基于itertools.product进行一点更改:

def custom_product(f, repeat=0):
return itertools.product(*[f.get(i, [0, 1]) for i in range(repeat)])

fixed = {4: [1], 8: [0], 9: [0]}
print(*custom_product(fixed, 16), sep="\n")

结果的格式与您期望的相同。

关于python - 生成具有固定位置的二进制组合 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67738956/

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