Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在2个值中生成N个数字的值_Python - Fatal编程技术网

Python 在2个值中生成N个数字的值

Python 在2个值中生成N个数字的值,python,Python,想弄明白怎么做 您有一个数量可变的X位数;我想生成不同的唯一值,其中数字只包含2个值(如0和1) 现在,当我传递X时,我需要返回具有X位数的值,以及所有的组合。我将不得不进一步选择特定的值,但首先我需要生成这样的值列表 例如: if X = 2, you get 00,11,01,10 if X = 3, you get 111,000,110,100,101,001,010 and so on 我记得在我上大学的时候,有一种递归的方法可以做到这一点,但到目前为止,我还没有找到一种直接的方法

想弄明白怎么做

您有一个数量可变的X位数;我想生成不同的唯一值,其中数字只包含2个值(如0和1)

现在,当我传递X时,我需要返回具有X位数的值,以及所有的组合。我将不得不进一步选择特定的值,但首先我需要生成这样的值列表

例如:

if X = 2, you get 00,11,01,10
if X = 3, you get 111,000,110,100,101,001,010 and so on
我记得在我上大学的时候,有一种递归的方法可以做到这一点,但到目前为止,我还没有找到一种直接的方法

如何快速实现这一目标?到目前为止,我可以生成所有0或1的值,但混淆它们是导致我出现问题的原因

# all 0 in first positions, all 1 in second
X = 3
output = ["0"*X, "1"*X]

print(output[0]) # return 000
print(output[1]) # return 111
使用:

使用:

另一种方法(没有任何内置函数)

另一种方法(没有任何内置函数)


考虑到它是0..(1^(x+1)-1的二进制表示形式,我们可以使用:

>>> x=2
>>> [ "{0:b}".format(i).zfill(x) for i in range(1<<x)]
['00', '01', '10', '11']

>>> x=3
>>> [ "{0:b}".format(i).zfill(x) for i in range(0,1<<x)]
['000', '001', '010', '011', '100', '101', '110', '111']
>x=2
>>>[“{0:b}”.format(i).zfill(x)表示范围(1>x=3)内的i

>>>[“{0:b}”.format(i).zfill(x)表示范围(0,1中的i,考虑到它是0..(1^(x+1)-1的二进制表示形式,我们可以使用:

>>> x=2
>>> [ "{0:b}".format(i).zfill(x) for i in range(1<<x)]
['00', '01', '10', '11']

>>> x=3
>>> [ "{0:b}".format(i).zfill(x) for i in range(0,1<<x)]
['000', '001', '010', '011', '100', '101', '110', '111']
>x=2
>>>[“{0:b}”.format(i).zfill(x)表示范围(1>x=3)内的i

>>>[“{0:b}”.format(i).zfill(x)表示范围内的i(0,1感谢回复!有没有不使用此模块的方法?我想了解它的实际工作原理;以防我不再使用python。@newbiez我提供的链接在不导入任何内容的情况下准确显示了它们的函数的外观:)@newbiez没问题:谢谢你的回复!有没有不使用这个模块的方法?我想了解它的实际工作原理;以防我不再使用python。@newbiez我提供的链接在不导入任何内容的情况下精确显示了它们的函数:)@newbiez没问题:DJust比我快了4分钟:)只需比我快4分钟:)
>>> x=2
>>> [ "{0:b}".format(i).zfill(x) for i in range(1<<x)]
['00', '01', '10', '11']

>>> x=3
>>> [ "{0:b}".format(i).zfill(x) for i in range(0,1<<x)]
['000', '001', '010', '011', '100', '101', '110', '111']