python如何进行顺序组合

问题描述 投票:1回答:1

我有一个问题。我已经尝试过,例如下面的示例。

import itertools

options = ['A', 'B', 'C']

true_or_false = ['true', 'false']

result1 = [f"{option} is " for option in options]

结果如下。

print(result1)
['A is ', 'B is ', 'C is ']

我想使用“ true_or_false”来产生这样的result2。

('A is true' 'B is true' 'C is true')
('A is true' 'B is true' 'C is false')
('A is true' 'B is false' 'C is true')
('A is true' 'B is false' 'C is false')
('A is false' 'B is true' 'C is true')
('A is false' 'B is true' 'C is false')
('A is false' 'B is false' 'C is true')
('A is false' 'B is false' 'C is false')

我认为它使用的是“组合”,但不起作用。

python combinations itertools
1个回答
0
投票

简单的嵌套循环可以输出您需要的内容

result2 = []
combinations = ['true','false']
for a in combinations:
    for b in combinations:
        for c in combinations:
            result2.append(('A is ' + a, 'B is ' + b, 'C is ' + c))

[result2将是一个元组列表:

[('A is true', 'B is true', 'C is true'),
 ('A is true', 'B is true', 'C is false'),
 ('A is true', 'B is false', 'C is true'),
 ('A is true', 'B is false', 'C is false'),
 ('A is false', 'B is true', 'C is true'),
 ('A is false', 'B is true', 'C is false'),
 ('A is false', 'B is false', 'C is true'),
 ('A is false', 'B is false', 'C is false')]
© www.soinside.com 2019 - 2024. All rights reserved.