使用Itertools和Python生成二进制表

时间:2011-03-09 16:45:07

标签: python binary itertools

所以这就是我的尝试

list(itertools.combinations_with_replacement('01', 2))

但这会产生[('0','0'),('0','1'),('1','1')]

我仍然需要一个('1','0')元组,有没有办法让itertools也做组合和命令?

4 个答案:

答案 0 :(得分:5)

要使用自身的笛卡尔积,请使用

itertools.product("01", repeat=2)

这将为您提供所有可能的组合。

答案 1 :(得分:3)

使用

list(itertools.product(*["01"] * 2))

代替。

答案 2 :(得分:0)

该程序生成1到100之间的数字,然后将其转换为二进制

a=0
while a<100:
 a=a+1
 print a,"=",bin(a)

答案 3 :(得分:0)

要概括列表(而不是字符串),请使用:

list(itertools.product(*[[0,1]]*2))

这将给

[(0, 0), (0, 1), (1, 0), (1, 1)]