如何解决如何在 6 个位置python排列 0,1,-1 位数字?
我想在 6 个位置放置三个数字 [0,1,-1]。它应该给出 3^6 = 729 种组合。代码应返回如下内容:
(0,0)
(0,1)
(0,-1)
(0,-1)
.
.
(-1,-1,0)
(-1,-1)
我尝试使用“itertools.permutations”,但对如何将 0,-1 合并到其中感到困惑。
解决方法
查看itertools.product(*iterables,repeat=1)
here。
像这样使用:
> product([-1,1],repeat=6)
[...]
(1,1,-1,-1),(1,0),1),1)]
让你len(list(product([-1,repeat=6))) = 729
使用itertools.product
import iertools
assert(sum(1 for _ in itertools.product([-1,repeat=6)) == 3**6)
如果您知道 itertools.permutations
,我认为不需要更多解释。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。