我有一个函数get_appendable_values(sequence)
,它接受一个序列(即使是空的),并返回可附加到该序列的所有值的列表(作为最后一个元素).我需要生成4个元素的所有可能的序列,关于此函数中定义的规则,并从空序列开始.
Example :个
让我们假设get_appendable_values
的实施是:
def get_appendable_values(sequence):
'''Dummy rules'''
if len(sequence) == 2:
return [4, 12]
if sequence[-1] == 4:
return [7]
return [0, 9]
Expected output :个
[[0, 0, 4, 7],
[0, 0, 12, 0],
[0, 0, 12, 9],
[0, 9, 4, 7],
[0, 9, 12, 0],
[0, 9, 12, 9],
[9, 0, 4, 7],
[9, 0, 12, 0],
[9, 0, 12, 9],
[9, 9, 4, 7],
[9, 9, 12, 0],
[9, 9, 12, 9]]
我觉得递归是关键,但我想不出来.