Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #63860

Re: L[:]

Path csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!feeder.erje.net!eu.feeder.erje.net!news.stack.nl!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!newsgate.cistron.nl!newsgate.news.xs4all.nl!post.news.xs4all.nl!not-for-mail
Return-Path <python-python-list@m.gmane.org>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.002
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'modify': 0.07; 'paths': 0.07; 'inserts': 0.09; 'item,': 0.09; 'iterate': 0.09; 'received:80.91': 0.09; 'received:80.91.229': 0.09; 'received:gmane.org': 0.09; 'received:list': 0.09; 'jan': 0.12; 'creates': 0.14; 'copied.': 0.16; 'deletes': 0.16; 'received:80.91.229.3': 0.16; 'received:plane.gmane.org': 0.16; 'reedy': 0.16; 'silly': 0.16; 'essential': 0.16; 'modification': 0.16; 'wrote:': 0.18; 'code.': 0.18; 'header:User-Agent:1': 0.23; 'case.': 0.24; 'nearly': 0.26; 'second': 0.26; 'somewhere': 0.26; 'header:X-Complaints-To:1': 0.27; 'header:In-Reply-To:1': 0.27; 'point': 0.28; 'am,': 0.29; 'code': 0.31; 'object.': 0.31; 'another': 0.32; 'something': 0.35; 'but': 0.35; 'there': 0.35; 'two': 0.37; 'list': 0.37; 'needed': 0.38; 'to:addr:python-list': 0.38; 'list,': 0.38; 'does': 0.39; 'to:addr:python.org': 0.39; 'received:org': 0.40; 'called': 0.40; 'new': 0.61; 'name:': 0.61; 'received:173': 0.61; 'more': 0.64; 'within': 0.65; 'effectively': 0.66; '4:00': 0.84; 'nagy': 0.84; 'received:fios.verizon.net': 0.84
X-Injected-Via-Gmane http://gmane.org/
To python-list@python.org
From Terry Reedy <tjreedy@udel.edu>
Subject Re: L[:]
Date Mon, 13 Jan 2014 15:23:17 -0500
References <1389375507.21198.YahooMailBasic@web163801.mail.gq1.yahoo.com> <lapspc$vp0$1@ger.gmane.org> <52D3AB3E.6050206@shopzeus.com>
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-254-207.phlapa.fios.verizon.net
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.2.0
In-Reply-To <52D3AB3E.6050206@shopzeus.com>
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.15
Precedence list
List-Id General discussion list for the Python programming language <python-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-list>, <mailto:python-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-list/>
List-Post <mailto:python-list@python.org>
List-Help <mailto:python-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-list>, <mailto:python-list-request@python.org?subject=subscribe>
Newsgroups comp.lang.python
Message-ID <mailman.5428.1389644615.18130.python-list@python.org> (permalink)
Lines 22
NNTP-Posting-Host 2001:888:2000:d::a6
X-Trace 1389644616 news.xs4all.nl 2849 [2001:888:2000:d::a6]:57557
X-Complaints-To abuse@xs4all.nl
Xref csiph.com comp.lang.python:63860

Show key headers only | View raw


On 1/13/2014 4:00 AM, Laszlo Nagy wrote:
>
>> Unless L is aliased, this is silly code.
> There is another use case. If you intend to modify a list within a for
> loop that goes over the same list, then you need to iterate over a copy.
> And this cannot be called an "alias" because it has no name:

for i in somelist: creates a second reference to somelist that somewhere 
in the loop code has a name, so it is effectively an 'alias'. The 
essential point is that there are two access paths to the same object.

> for idx,item in enumerate(L[:]):
>     # do something with L here, including modification

The copy is only needed in the above if one inserts or deletes. But if 
one inserts or deletes more than one item, one nearly always does better 
to iterate through the original and construct a new list with new items 
added and old items not copied.

-- 
Terry Jan Reedy

Back to comp.lang.python | Previous | Next | Find similar | Unroll thread


Thread

Re: L[:] Terry Reedy <tjreedy@udel.edu> - 2014-01-13 15:23 -0500

csiph-web