Вы имеете в виду что-то подобное? Обратите внимание, что это совершенно неэффективно и сломается после определенной глубины.
>>> def recursive_iterate(iterable):
... iterated_object=[]
... for elem in iterable:
... if hasattr(elem,"__iter__"):
... iterated_object.append(recursive_iterate(elem))
... else:
... iterated_object.append(elem)
... return iterated_object
...
>>> recursive_iterate([1,2,3,[4,5,6]])
[1, 2, 3, [4, 5, 6]]
>>> recursive_iterate([1,2,3,xrange(10)])
[1, 2, 3, [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]
>>> recursive_iterate([1,2,3,[4,5,6,[xrange(10)]]])
[1, 2, 3, [4, 5, 6, [[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]]]]