On Jan 21, 2009, at 10:52 AM, Dr Mephesto wrote:

Hi,
Im new to python, and OOP, and am trying to get a handle on list
comprehension.

Say I have a class Foo with a property called bar:

class Foo:
   def __init__(self):
       self.bar = random.randint(1,100)

and then I make a list of these objects:

Newlist = []
for x in range(10):
   Newlist.append(Foo())

Now, suppose I wanted to triple the value of 'bar', I could always do:

for x in range(10):
        Newlist[x].bar = Newlist[x].bar * 3

but can I do this using list comprehension?  Thanks in Advance!

Other answers have been good; to them I'll add the comment that list comprehensions are for *constructing* lists, not manipulating the elements thereof.

HTH
Philip
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to