Help With Python
Nick Craig-Wood
nick at craig-wood.com
Thu Jan 27 10:30:01 EST 2005
Steven Bethard <steven.bethard at gmail.com> wrote:
> Nick Vargish wrote:
> > # this is one viking making one order repeated 511 times. if you want
> > # 511 vikings making seperate orders, you'll have to write a loop.
>
> No need to write a loop:
>
> py> class Viking(object):
> ... def order(self):
> ... return 'Spam'
> ...
> py> v = Viking()
> py> orders = [v.order()] * 7
> py> ', '.join(orders)
> 'Spam, Spam, Spam, Spam, Spam, Spam, Spam'
> py> orders = [Viking().order()] * 7
> py> ', '.join(orders)
> 'Spam, Spam, Spam, Spam, Spam, Spam, Spam'
Thats still one Viking making 7 orders surely?
Eg
>>> vikings = [Viking()] * 7
>>> vikings[0] is vikings[1]
True
whereas
>>> vikings = [Viking() for _ in range(7)]
>>> vikings[0] is vikings[1]
False
So you want this...
>>> orders = [ Viking().order() for _ in range(7) ]
--
Nick Craig-Wood <nick at craig-wood.com> -- http://www.craig-wood.com/nick
More information about the Python-list
mailing list