Python: Recursive: Flatten

Write a recursive function that takes a list of lists and returns a list containing all the values of the original list without any nested list. The order of values should not changed.


flatten([[1,2], [3], [4,[5,6,[7]]]]) -> [1,2,3,4,5,6,7]
flatten([[[[]]], [[[], []]]]) -> []

Test 1    

Test 2    

Test 3    

Test 4    

Test 5    

Test 6    

Test 7    

Test 8