How to flatten a list of lists was (Explanation of this Python language feature?)
Mark H Harris
harrismh777 at gmail.com
Fri Mar 28 18:00:27 EDT 2014
On 3/27/14 6:45 PM, Dan Stromberg 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.
>
You might try this to flatten a list of lists:
>>> from functools import reduce
>>> import operator
>>> import operator as λ
>>> reduce(λ.add, l)
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>>
marcus
More information about the Python-list
mailing list