2016-01-20 95 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]