-1

たとえば、再帰を使用して組み合わせを見つけるのに問題があります

a = ['a', 'b','c'], 
b = ['d','e','f']
c = ['g','h','i']

入力はa,b,c 27通りの組み合わせが可能

combinations = []
if string == "":
    print (combinations)
    return
else:
    for i in string.head():
        recursive_combinations(combinations , string.tail())
4

1 に答える 1

3

最も単純で慣用的な方法はitertools、再帰ではなく を使用することです。このような:

import itertools as it

v1 = ['a', 'b','c']
v2 = ['d','e','f']
v3 = ['g','h','i']

list(it.product(v1, v2, v3))
=> ... the cartesian product of the input lists ...

len(list(it.product(v1, v2, v3)))
=> 27
于 2013-09-16T15:38:05.267 に答える