2016-01-20 76 views
0

我想达到以下结果生成使用列表和单个值或列表,列表

import itertools 
i = [1, 2, 3] 

排列下列不工作...我如何创建使用迭代的所有组合与单个值?

allCombos = [combo for combo in itertools.product(i, True)] 
# I want to yield (1, True), (2, True), (3, True) 

这是工作的其他情况

if includeFalse: 
    allCombos = [combo for combo in itertools.product(i, [True, False])] 
    # yields in (1, True), (1, False), (2, True), (2, False), (3, True), (3 False) 

回答

1

你可以把你的单值列表,并使用:

allCombos = [combo for combo in itertools.product(i, [True])] 

或者你可以有一个简单的列表理解:

allCombos = [(x, True) for x in i]