inputList = [["a", ["b","c","d"], [["e"]], "f"],["g"]]
flattenedList = magic(inputList)
flatResults = calculations(flattenedList)
resultify(inputList, flatResults)
def resultify(inputList, flatResults, answer=None):
if answer is None: answer = []
if not inputList: return answer
for elem in inputList:
if not isinstance(elem, list): answer.append(flatResults.pop(0))
else: answer.append(resultify(elem, flatResults, []))
return answer
Output:
In [29]: inputList = [["a", ["b","c","d"], [["e"]], "f"],["g"]]
In [30]: flatResults = [1,2,3,4,5,6,7]
In [31]: resultify(inputList, flatResults)
Out[31]: [[1, [2, 3, 4], [[5]], 6], [7]]
source
share