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


Groups > comp.lang.python > #105929

Re: repeat items in a list

Path csiph.com!news.swapon.de!fu-berlin.de!uni-berlin.de!not-for-mail
From Erik <python@lucidity.plus.com>
Newsgroups comp.lang.python
Subject Re: repeat items in a list
Date Mon, 28 Mar 2016 23:14:07 +0100
Lines 30
Message-ID <mailman.118.1459203257.28225.python-list@python.org> (permalink)
References <8935d5dc-5e62-4fa8-8e8f-bd5b1787ee9f@googlegroups.com> <mailman.65.1459034636.28225.python-list@python.org> <c4cf6ed9-cf6a-474b-b471-ce1066fd423d@googlegroups.com> <ndbpoc$o2$1@dont-email.me> <CAPTjJmpNNM_0HL7vSjk00T-UM9N+3dtfgqwP7NO2gQG8dzJaWg@mail.gmail.com>
Mime-Version 1.0
Content-Type text/plain; charset=windows-1252; format=flowed
Content-Transfer-Encoding 7bit
X-Trace news.uni-berlin.de E363+vh+SZsb560OsNVnAwECzBspLs/7JC5lyl1UrFTg==
Return-Path <python@lucidity.plus.com>
X-Original-To python-list@python.org
Delivered-To python-list@mail.python.org
X-Spam-Status OK 0.025
X-Spam-Evidence '*H*': 0.95; '*S*': 0.00; 'nicely': 0.07; 'trailing': 0.07; 'cc:addr:python-list': 0.09; 'cached': 0.09; 'construct.': 0.16; 'from:addr:python': 0.16; "he'd": 0.16; 'interest,': 0.16; 'received:84.93': 0.16; 'received:84.93.230': 0.16; 'received:io': 0.16; 'received:psf.io': 0.16; 'timed': 0.16; 'wrote:': 0.16; 'cc:2**0': 0.20; 'cc:addr:python.org': 0.20; 'object.': 0.22; 'header:In-Reply-To:1': 0.24; 'header:User-Agent:1': 0.26; 'example': 0.26; 'subject:list': 0.26; 'sense': 0.26; 'chris': 0.26; 'error': 0.27; 'went': 0.28; 'looks': 0.29; 'referenced': 0.29; "i'm": 0.30; 'anywhere': 0.30; 'creating': 0.30; 'code': 0.30; "i'd": 0.31; 'probably': 0.31; "can't": 0.32; 'noticed': 0.32; 'received:84': 0.32; 'though.': 0.33; 'list': 0.34; 'instance': 0.35; 'mine': 0.35; 'something': 0.35; 'problem.': 0.35; 'but': 0.36; '(and': 0.36; 'faster': 0.36; 'subject:: ': 0.37; 'say': 0.37; 'version': 0.38; 'takes': 0.39; 'received:192': 0.39; 'some': 0.40; 'charset:windows-1252': 0.62; 'else.': 0.66; '(generic': 0.84; 'expresses': 0.84; 'goal:': 0.84; 'measurable': 0.84; 'quicker': 0.84; 'analyses': 0.91; 'glance': 0.91; 'convinced': 0.93
X-CM-Score 0.00
X-CNFS-Analysis v=2.1 cv=QqujpgGd c=1 sm=1 tr=0 a=BtX40c5qGHjBwFgnk142hQ==:117 a=BtX40c5qGHjBwFgnk142hQ==:17 a=L9H7d07YOLsA:10 a=9cW_t1CCXrUA:10 a=s5jvgZ67dGcA:10 a=N659UExz7-8A:10 a=5Ue3kRELu8KOH2t3GbQA:9 a=pILNOxqGKmIA:10
User-Agent Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.6.0
In-Reply-To <CAPTjJmpNNM_0HL7vSjk00T-UM9N+3dtfgqwP7NO2gQG8dzJaWg@mail.gmail.com>
X-BeenThere python-list@python.org
X-Mailman-Version 2.1.21
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>
Xref csiph.com comp.lang.python:105929

Show key headers only | View raw


On 28/03/16 22:25, Chris Angelico wrote:
> Just out of interest, did you (generic you)  happen to notice Mark's
> suggestion? It's a one-liner that nicely expresses the intention and
> accomplishes the goal:
>
> yy = [aa for aa in xx for _ in range(nrep)]
>
> It quietly went through without fanfare, but I would say this is the
> perfect solution to the original problem.

I noticed it (and I timed it - it was ~30% faster than my version 
(because mine was creating short transient list objects), but it takes a 
_LOT_ - millions - of iterations of the example case (nrep = 3, xx = 
two-element-list) to even make it measurable on my PC). It would have 
probably been even quicker if he'd cached the range() object.

I'm not convinced it's particularly intuitive, though. That trailing 
"for _ in range(nrep)" looks at first glance like an error - some code 
that's generating a value that is not referenced anywhere else.

It makes perfect sense when one analyses it, but it's not the most 
immediately grokkable construct.

Hmmm. It's almost as if in this instance I'd prefer something like:

   yy = [for aa in xx for _ in range(nrep): aa]

But I know we can't go /there/ ;)

E.

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


Thread

repeat items in a list beliavsky@aol.com - 2016-03-26 15:12 -0700
  Re: repeat items in a list Cameron Simpson <cs@zip.com.au> - 2016-03-27 10:05 +1100
  Re: repeat items in a list Erik <python@lucidity.plus.com> - 2016-03-26 23:23 +0000
    Re: repeat items in a list beliavsky@aol.com - 2016-03-26 16:36 -0700
      Re: repeat items in a list Rob Gaddi <rgaddi@highlandtechnology.invalid> - 2016-03-28 17:30 +0000
        Re: repeat items in a list Chris Angelico <rosuav@gmail.com> - 2016-03-29 08:25 +1100
          Re: repeat items in a list Antonio Caminero Garcia <tonycamgar@gmail.com> - 2016-03-29 01:43 -0700
        Re: repeat items in a list Erik <python@lucidity.plus.com> - 2016-03-28 23:14 +0100
  Re: repeat items in a list Mark Lawrence <breamoreboy@yahoo.co.uk> - 2016-03-26 23:28 +0000
    Re: repeat items in a list beliavsky@aol.com - 2016-03-26 16:54 -0700
      Re: repeat items in a list Paul Rubin <no.email@nospam.invalid> - 2016-03-26 22:35 -0700
  Re: repeat items in a list Antonio Caminero Garcia <tonycamgar@gmail.com> - 2016-03-27 01:02 -0700
    Re: repeat items in a list Antonio Caminero Garcia <tonycamgar@gmail.com> - 2016-03-27 01:30 -0700
    Re: repeat items in a list Jussi Piitulainen <jussi.piitulainen@helsinki.fi> - 2016-03-27 14:09 +0300
  Re: repeat items in a list larudwer <larudwer@freenet.de> - 2016-03-27 11:52 +0200
    Re: repeat items in a list Antonio Caminero Garcia <tonycamgar@gmail.com> - 2016-03-27 04:13 -0700
      Re: repeat items in a list larudwer <larudwer@freenet.de> - 2016-03-28 13:36 +0200
        Re: repeat items in a list Random832 <random832@fastmail.com> - 2016-03-28 10:04 -0400
        Re: repeat items in a list Vito De Tullio <vito.detullio@gmail.com> - 2016-03-29 23:25 +0200
        Re: repeat items in a list Michael Selik <michael.selik@gmail.com> - 2016-03-29 22:05 +0000
        Re: repeat items in a list Peter Otten <__peter__@web.de> - 2016-03-30 17:52 +0200

csiph-web