假设我有一个函数可以根据函数调用生成 X 个等长列表。例如,如果函数调用中有 5 个单独的字符串,它应该生成 5 个列表并将它们 .zip/join/merge 为一个。
为了做到这一点,我正在使用这个模型功能:
def FetchData(*args):
returnlist = []
for arg in args:
datalist = generate.list(arg) #obviously not a real method.
if returnlist == []
returnlist = datalist
else:
returnlist = map(list, zip(returnlist, datalist))
return returnlist
如果有 0、1 或 2 个参数,这可以正常工作。但是,如果还有更多,事情就会变得很奇怪:
以下是 FetchData() 获取 4 个参数时的示例结果:
>>> returnlist[0]
>>> [[['a', 'b'], 'c'], 'd']
但是我需要:
>>> ['a','b','c','d']
我通过“打击”每个退货清单项目并删除额外的符号来修复它,但这似乎太粗糙了。
我确信有一种方法可以正确压缩生成的列表,而无需事后理解结果。
任何人都可以帮忙吗?