help understanding class or function
vincent at vincentdavis.net
Fri Mar 6 02:09:48 CET 2009
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
The actual functions I am making are more complicated than this example.
On Thu, Mar 5, 2009 at 5:13 PM, Gabriel Genellina <gagsl-py2 at yahoo.com.ar>wrote:
> En Thu, 05 Mar 2009 14:43:12 -0200, Vincent Davis <
> vincent at 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
>> 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
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Python-list