Howto flaten a list of lists was (Explanation of this Python language feature)
breamoreboy at yahoo.co.uk
Fri Mar 28 23:12:33 CET 2014
On 28/03/2014 21:56, Mark H Harris wrote:
> On Fri, Mar 21, 2014 at 1:42 PM, vasudevram <vasudevram at gmail.com> wrote:
> >> Can anyone - maybe one of the Python language core team, or someone
> >> with knowledge of the internals of Python - can explain why this >>
> code works, and whether the different occurrences of the name x in >>
> the expression, are in different scopes or not? :
> >> x = [[1,2], [3,4], [5,6]]
> >> [x for x in x for x in x]
> > I'll give this +1 for playfulness, and -2 for lack of clarity.
> > I hope no one thinks this sort of thing is good to do in real-life code.
Strange, I thought Dan Stromberg wrote the above.
> No. This has to be a better way to flatten lists:
> >>> from functools import reduce
> >>> import operator as λ
> >>> reduce(λ.add, l)
> [1, 2, 3, 4, 5, 6, 7, 8, 9]
Why reinvent yet another way of flattening lists, particulary one that
doesn't use the far more sensible:-
from operator import add
As for the stupid symbol that you're using, real programmers don't give
a damn about such things, they prefer writing plain, simple, boring code
that is easy to read.
My fellow Pythonistas, ask not what our language can do for you, ask
what you can do for our language.
This email is free from viruses and malware because avast! Antivirus protection is active.
More information about the Python-list