I guess I am thinking of it as an operation that I am preforming on a list
and not making a new list. Also looking to learn better methods. This is
difficult when you are working alone. It is difficult to know where to
improve.
The actual functions I am making are more complicated than this example.
Thanks
Vincent Davis
720-301-3003


On Thu, Mar 5, 2009 at 5:13 PM, Gabriel Genellina <gagsl-...@yahoo.com.ar>wrote:

> En Thu, 05 Mar 2009 14:43:12 -0200, Vincent Davis <
> vinc...@vincentdavis.net> escribió:
>
>
>  If I have a list and I what to make changes to it.a = [1,2,3,4,5,6,7,8,9]
>> and maybe I want to drop the odd and double the  even numbers and I will
>> need to do this repeatedly.
>> How is this best done? That is as a function or class. All I know how to
>> do
>> is
>>
>> def doubleeven(alist):
>>    blist = [2*x for x in a if x % 2 ==0]
>>   return blist
>>
>> then when I am using it I do this
>>
>> a = doubleeven(a)
>> I what to keep it named "a"
>>
>> I am not sure if this is the best way in terms of format or structure. Is
>> there a better way.
>>
>
> I don't grasp what you're worried about... Your function does exactly what
> you have specified above, so it's correct. Don't you like the fact that it
> returns a *new* list instead of modifying the original one in-place? You may
> use:
>
> a[:] = doubleeven(a)
>
> Or rewrite the function using a while loop (to avoid having two lists alive
> at the same time), but I would not bother unless there are strong reasons
> (the lists is really huge, or there is very few memory available).
>
> --
> Gabriel Genellina
>
> --
> http://mail.python.org/mailman/listinfo/python-list
>
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to