Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.mixmin.net!aioe.org!news.stack.nl!newsfeed.xs4all.nl!newsfeed5.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.001 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'subject:Python': 0.05; 'guido': 0.05; 'indicating': 0.05; 'compact': 0.09; 'notation': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'terry': 0.09; 'represents': 0.15; 'exponential': 0.16; 'operation.': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'reedy': 0.16; 'string': 0.17; 'wrote:': 0.17; 'mathematical': 0.17; 'jan': 0.18; '(or': 0.18; 'not,': 0.21; 'operations.': 0.22; 'header:In-Reply-To:1': 0.25; 'header:User-Agent:1': 0.26; 'am,': 0.27; 'right.': 0.27; 'header:X-Complaints-To:1': 0.28; 'appending': 0.29; 'related': 0.30; "skip:' 10": 0.30; 'function': 0.30; 'to:addr:python-list': 0.33; 'another': 0.33; 'needed': 0.35; 'sequence': 0.35; 'there': 0.35; 'received:org': 0.36; 'subject: (': 0.36; 'subject:: ': 0.38; 'copying': 0.38; 'to:addr:python.org': 0.39; 'header:Received:5': 0.40; 'think': 0.40; 'share': 0.61; 'more': 0.63; 'tricks': 0.65; 'counts': 0.81; 'confusion.': 0.84; 'received:fios.verizon.net': 0.84 X-Injected-Via-Gmane: http://gmane.org/ To: python-list@python.org From: Terry Reedy Subject: Re: sum works in sequences (Python 3) Date: Wed, 19 Sep 2012 14:49:45 -0400 References: Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Gmane-NNTP-Posting-Host: pool-173-75-251-66.phlapa.fios.verizon.net User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:15.0) Gecko/20120824 Thunderbird/15.0 In-Reply-To: X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 21 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1348080608 news.xs4all.nl 6874 [2001:888:2000:d::a6]:35665 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:29518 On 9/19/2012 11:07 AM, Alister wrote: > Summation is a mathematical function that works on numbers > Concatenation is the process of appending 1 string to another > > although they are not related to each other they do share the same > operator(+) which is the cause of confusion. If one represents counts in unary, as a sequence or tally of 1s (or other markers indicating 'successor' or 'increment'), then count addition is sequence concatenation. I think Guido got it right. It happens that when the members of all sequences are identical, there is a much more compact exponential place value notation that enables more efficient addition and other operations. When not, other tricks are needed to avoid so much copying that an inherently O(N) operation balloons into an O(N*N) operation. -- Terry Jan Reedy