change vars in place w/loop or list comprehension

Jatinder Singh jatinder at textualanalytics.com
Tue May 31 09:09:16 EDT 2005


Hi 
what u can do over here is 
add a,b,c... in a list e.g. list.append(vars..)
and then use the statement
newlist = map(lambda x:x.upper(),list)
Now ur newlist will contain the modified list.
HOPE THIS THE BETTER SOLUTION TO UR PROBLEM


Quoting ken.boss at dnr.state.mn.us:

> I am a python newbie, and am grappling with a fundamental concept.  I
> want to
> modify a bunch of variables in place.  Consider the following:
> 
> >>> a = 'one'
> >>> b = 'two'
> >>> c = 'three'
> >>> list = [a, b, c]
> >>> for i in range(len(list)):
> ...   list[i] = list[i].upper()
> ...
> >>> [a, b, c] = list
> >>> a
> 'ONE'
> 
> or, better:
> 
> >>> a = 'one'
> >>> b = 'two'
> >>> c = 'three'
> >>> [a, b, c] = [s.upper() for s in [a, b, c]]
> >>> a
> 'ONE'
> 
> Both of these accomplish what I'm after; I prefer the second for its
> brevity.
> But either approach requires that I spell out my list of vars-to-alter
> [a, b, c] twice.  This strikes me as awkward, and would be difficult
> with longer lists. Any suggestions for a better way to do this?
> 
> --Ken
> 
> -- 
> http://mail.python.org/mailman/listinfo/python-list
> 


-- 
Regards,
Jatinder Singh

“ Everyone needs to be loved... especially when they do not deserve it.”



More information about the Python-list mailing list