ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python – 生成True / False的所有length-n排列?

2019-07-27 00:59:06  阅读:326  来源: 互联网

标签:python boolean permutation


在尝试为真值表生成函数编写代码时出现了这个问题.

如何生成所有length-n排列True和False的列表?换句话说,给定元素列表[True,False],如何生成这些元素的所有可能长度-n组合的所有排列?

例如:

n = 2长度 – 2个排列是:

[[True, True], [True, False], [False, True], [False, False]]

n = 3长度为3的排列为:

[[False, False, False],[False,False,True],
[False,True,False],[False,True,True],
[True,False,False],[True,False,True],[True,True,False],[True,True,True]]

我知道这个列表中有2 ^ n个列表.我也考虑过使用itertools.product,但这似乎只是给出了特定组合的排列.在这种情况下,我想我想生成长度为n的真/假列表的所有组合的排列.

解决方法:

使用产品:

>>> import itertools
>>> l=[False,True]
>>> list(itertools.product(l,repeat=3))
[(False, False, False), (False, False, True), (False, True, False), (False, True, True), (True, False, False), (True, False, True), (True, True, False), (True, True, True)]
>>> 

并列出一个清单:

>>> import itertools
>>> l=[False,True]
>>> [list(i) for i in itertools.product(l,repeat=3)]
[[False, False, False], [False, False, True], [False, True, False], [False, True, True], [True, False, False], [True, False, True], [True, True, False], [True, True, True]]
>>> 

标签:python,boolean,permutation
来源: https://codeday.me/bug/20190727/1548969.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有