On 01/11/11 15:05, Gnarlodious wrote:
I want to assign a list of variables:
locus=[-2, 21, -10, 2, 12, -11, 0, 3]

updating a list of objects each value to its respective instance:

for order in range(len(Orders)):
        Orders[order].locus=locus[order]

This works, even though it reads like doggerel. Is there a more
pythonesque way using map or comprehension?


for obj, val in zip(Orders, locus):
     obj.locus = val


I'm not sure how worthwhile it is converting the above to a list comprehension (when the list would just be thrown away). Having said that the call to zip creates an unnecessary list. You could use izip or maybe,

for i, val in enumerate(locus):
    Orders[i].locus = val

Duncan
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to