2016-01-23 16 views
1

我在尋找產生一個元組像這樣的所有可能組合的簡單功能的Python迭代器功能:的組合

t = (1,1,1,1)

輸出:[(0, 0, 0, 0), (0, 0, 0, 1), (0, 0, 1, 0), (0, 0, 1, 1), (0, 1, 0, 0), (0, 1, 0, 1), (0, 1, 1, 0), (0, 1, 1, 1), (1, 0, 0, 0), (1, 0, 0, 1), (1, 0, 1, 0), (1, 0, 1, 1), (1, 1, 0, 0), (1, 1, 0, 1), (1, 1, 1, 0), (1, 1, 1, 1)]

回答

0

你可能想給它更好的名字:

def huh(numbers): 
    all_numbers = [] 
    for num in numbers: 
    all_numbers.extend(range(num+1)) 
    all_numbers = list(set(itertools.permutations(all_numbers, len(numbers)))) 
    all_numbers.sort() 
    return all_numbers