Howto flaten a list of lists was (Explanation of this Python language feature)
Mark Lawrence
breamoreboy at yahoo.co.uk
Fri Mar 28 18:12:33 EDT 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.
Mark Lawrence
---
This email is free from viruses and malware because avast! Antivirus protection is active.
http://www.avast.com
More information about the Python-list
mailing list