<div dir="ltr">On Mon, Jul 15, 2013 at 12:16 AM, Joshua Landau <span dir="ltr"><<a href="mailto:joshua@landau.ws" target="_blank">joshua@landau.ws</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im">>   flat = chain(list_of_lists)<br>
<br>
</div>This does nothing more that iter(list)...<br></blockquote><div><br></div><div>Right, I forgot a '*'.  I don't think that changes the point that it's already very readable, intuitive, and efficient, without resorting to the counter-intuitive sum().<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">>   flat = []<br><div class="im">
>   map(flat.extend, list_of_lists)<br>
<br>
</div>Gah! No like. </blockquote><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
flat = []<br>
for lst in list_of_lists:<br>
    flat.extend(lst)<br></blockquote><div><br></div><div>Well,  a couple characters difference, but the explicit loop is fine also.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
You think that "[1, 2, 3] + [4, 5, 6] == [1, 2, 3, 4, 5, 6]" is a<br>
quirk of python's internals?<br></blockquote><div><br></div><div>Basically yes.  Except not quite.  The "quirk" is more that "the plus sign stands for the .__add__() method, even when it is being used for very different meanings on different datatypes."  And again, as I point out, it's not *necessary* that Python had chosen the "+" operator as its spelling of "concatenation" ... it's a good choice, but it does invite confusion with the very different use of "+" to mean "addition".<br>
<br></div><div class="im"> <a href="https://en.wikipedia.org/wiki/Summation" target="_blank">https://en.wikipedia.org/wiki/Summation</a><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">

> Besides numbers, other types of values can be added as well: vectors, matrices, polynomials and, in general, elements of any additive group (or even monoid).<br></blockquote><div><br></div><div>Yep.  And summing every one of those things means *addition* and never *concatenation*.  There's a reason that article begins with "<b>Summation</b> is the operation of <a href="https://en.wikipedia.org/wiki/Addition" title="Addition">adding</a> a <a href="https://en.wikipedia.org/wiki/Sequence" title="Sequence">sequence</a> of numbers"<br>
<br></div><div>It's also notable that concatenation of sequences doesn't form an Abelian Group.  Hell, concatenation of sequences isn't even commutative.  Using sum() for a non-commutative operation verges on crazy.  At the least, such a use is highly counter-intuitive.<br>
</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
Google's (aggregated) dictionary:<br>
> The total amount resulting from the addition of two or more numbers, amounts, or items<br>
> the final aggregate; "the sum of all our troubles did not equal the misery they suffered" (a good example of where you *already know* you can sum things other than numbers*)<br></blockquote><div><br></div>
<div>Summing troubles might resemble addition, metaphorically.  It most certainly does not resemble concatenation.  *Maybe* somewhere in the history of English usage you can find some oddball use where the meaning is vaguely similar to "concatenation."  This is certainly not the common usage though.<br>
</div><div> </div></div><br>-- <br>Keeping medicines from the bloodstreams of the sick; food <br>from the bellies of the hungry; books from the hands of the <br>uneducated; technology from the underdeveloped; and putting <br>
advocates of freedom in prisons.  Intellectual property is<br>to the 21st century what the slave trade was to the 16th.<br>
</div></div>