使用Itertools生成二进制表
我现在在尝试这个
list(itertools.combinations_with_replacement('01', 2))
但是这段代码生成了这样的结果:[('0', '0'), ('0', '1'), ('1', '1')]
我还需要一个 ('1','0')
的组合,有没有办法让 itertools
也能同时处理组合和顺序呢?
4 个回答
1
如果你想把这个方法扩展到列表(而不是字符串),可以使用:
list(itertools.product(*[[0,1]]*2))
这样做会得到
[(0, 0), (0, 1), (1, 0), (1, 1)]
6
要计算一个值与它自己之间的笛卡尔积,你可以使用
itertools.product("01", repeat=2)
这样做会给你所有可能的组合。
6
请使用
list(itertools.product(*["01"] * 2))
来代替。