Steve Holden ha scritto:
Anoop wrote:
Thanks Stefen
let me be more specific how would i have to write the following
function in the deprecated format
map(string.lower,list)
To avoid the deprecated usage you would use the unbound method of the
str type (that's the type of all strings):
>>lst = ['Steve', 'Holden']
>>map(str.lower, lst)
['steve', 'holden']
>>>
This isn't exactly equal to use string.lower, because this work with
just encoded strings, when string.lower works with unicode too.
I'm used to have a "lower" func like this one
def lower(x): return x.lower()
to use in map. Of course it's a problem when you need many different
methods.
A solution could be something like this
>>def doit(what):
.... def func(x):
.... return getattr(x,what)()
.... return func
....
>>map(doit('lower'),['aBcD',u'\xc0'])
['abcd', u'\xe0']
>>map(doit('upper'),['aBcD',u'\xc0'])
['ABCD', u'\xc0']
The best is to use in advance just unicode or encoded strings in your
program, but this is not always possible :-/
Riccardo Galli