Devan L wrote:

>># from a custom numeric class
>># converts a tuple of digits into a number
>>mantissa = sign * reduce(lambda a, b: 10 * a + b, mantissa)
> 
> 
> I'll admit I can't figure out a way to replace reduce without writing
> some ugly code here, but I doubt these sorts of things appear often.

It's not ugly or difficult to define a named function.

def digits_to_value(seq):
     v = 0
     for d in seq:
         v = v*10+d
     return v


Then where you need it.

mantissa = sign * digits_to_value(mantissa)


One of the motivations is the reduce-lambda expressions are a lot harder 
to read than a properly named function.

And a function will often work faster than the reduce-lambda version as 
well.

Cheers,
Ron
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to