gpt4 book ai didi

python - 组合列表

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:29:01 27 4
gpt4 key购买 nike

我有一个长度为 N 的列表,这个列表的每个元素都是 0 或 1。我需要获取此列表的所有可能组合。这是我的代码:

def some(lst):
result = []
for element in lst:
c1 = copy.copy(element)
c2 = copy.copy(element)
c1.append(0)
c2.append(1)
result.append(c1)
result.append(c2)
return result

def generate(n):
if(n == 1):
return [[0], [1]]
else:
return some(generate(n - 1))

print generate(4)

我认为这个任务有一个更 pythonic 的解决方案。提前致谢。

最佳答案

它们看起来不像位模式 (0000 ....1111),即二进制位。并且 n 个二进制位的所有可能组合的范围从 0 到 2**n -1

noOfBits = 5
for n in range(2**noOfBits):
binVal = bin(n)[2:].zfill(noOfBits)
b = [ x for x in binVal]
print b

为此我们需要组合数学吗?

输出:

['0', '0', '0', '0', '0']
['0', '0', '0', '0', '1']
['0', '0', '0', '1', '0']
['0', '0', '0', '1', '1']
['0', '0', '1', '0', '0']
['0', '0', '1', '0', '1']
.......

关于python - 组合列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3819658/

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