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


Groups > comp.lang.python > #105798

Re: repeat items in a list

Newsgroups comp.lang.python
Date 2016-03-26 16:54 -0700
References <8935d5dc-5e62-4fa8-8e8f-bd5b1787ee9f@googlegroups.com> <mailman.66.1459034995.28225.python-list@python.org>
Message-ID <6f1ab11b-da4a-49d5-8dcd-bd9b0c6fe8b3@googlegroups.com> (permalink)
Subject Re: repeat items in a list
From beliavsky@aol.com

Show all headers | View raw


On Saturday, March 26, 2016 at 7:30:14 PM UTC-4, Mark Lawrence wrote:
> On 26/03/2016 22:12, beliavsky--- via Python-list wrote:
> > I can create a list that has repeated elements of another list as follows:
> >
> > xx = ["a","b"]
> > nrep = 3
> > print xx
> > yy = []
> > for aa in xx:
> >      for i in range(nrep):
> >          yy.append(aa)
> > print yy
> >
> > output:
> > ['a', 'b']
> > ['a', 'a', 'a', 'b', 'b', 'b']
> >
> > Is there a one-liner to create a list with repeated elements?
> >
> 
> yy = [aa for aa in xx for _ in range(nrep)]
> 
> I suggest that you try this sort of the thing at an interactive prompt, 
> it's a great way to learn.
> 
> You might also want to take a look at the itertools module 
> https://docs.python.org/3/library/itertools.html.  This is often used in 
> building structures like the ones you've been asking about today.  To me 
> it is the Swiss Army Knife of the stdlib.

Thanks for the one-liner, which I prefer to the one I made up using itertools:

yy = list(chain.from_iterable([list(repeat(aa,nrep)) for aa in xx]))

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