August 2018
Intermediate to advanced
366 pages
10h 14m
English
If you know how many items the original lists contained and they have the same size, it's easy to apply the reverse operation.
We already know it's possible to merge entries from multiple sources using zip, so what we actually want to do is zip together the elements that were part of the same original list, so that we can go back from being chained to the original list of lists:
>>> list(zip(chained, chained, chained))
[('a', 'b', 'c'), (1, 2, 3), ('X', 'Y', 'Z')]
In this case, we had three items lists, so we had to provide chained three times.
This works because zip will sequentially consume one entry from each provided argument. So, as we are providing the same argument three times, we are in fact consuming the first three ...