【发布时间】:2016-10-18 10:15:48
【问题描述】:
我列出了从命令行解析的键对及其可能的值。例如:
[('-a',['1','2','3']), ('-b',['1','2'])]
我的目标是产生如下组合:
prefix -a=1 -b=1 suffix
prefix -a=1 -b=2 suffix
prefix -a=2 -b=1 suffix
prefix -a=2 -b=2 suffix
prefix -a=3 -b=1 suffix
prefix -a=3 -b=2 suffix
问题是,列表可以是任意长度,子列表中的值也是如此。
可能的解决方案是使用某种递归,到目前为止我写的并没有给我想要的:
def runner(args, comd=""):
for i in range(len(args)):
op, vals = args[i]
for val in vals:
comd = op + "=" + val + " " + runner(args[1:], comd)
if i == len(args) - 1:
print ("prefix " + comd + " suffix")
return comd
【问题讨论】:
标签: python python-3.x recursion combinations