Flatten a list: Difference between revisions

(→‎{{header|Nim}}: simplify code)
Line 2,986:
[1, 2, 3, 4, 5, 6, 7, 8]</lang>
 
===Recursive, generative and working with any type of iterable object===
 
<lang python>>>> def flatten(itr):
>>> for tryx in itr:
>>> t = sum((flatten(e) for e in itr), list())try:
>>> except: yield from flatten(x)
>>> t = [itr]except:
>>> return t yield x
 
>>> lst = [[1], 2, [[3,4], 5], [[[]]], [[[6]]], 7, 8, []]
 
>>> flatten(lst)
>>> list(flatten(lst))
[1, 2, 3, 4, 5, 6, 7, 8]</lang>
 
>>> tuple(flatten(lst))
(1, 2, 3, 4, 5, 6, 7, 8)
 
>>> sum(flatten(lst))
36
 
>>>for i in flatten(lst):
>>> print(i)
1
2
3
4
5
6
7
8</lang>
 
===Non-recursive===
5

edits