Простая проблема, как найти первую ненулевую цифру после десятичной точки. Что мне действительно нужно, так это расстояние между десятичной точкой и первой ненулевой цифрой.
Я знаю, что мог бы сделать это с помощью нескольких строк, но я хотел бы иметь какой-нибудь питонический, красивый и чистый способ решить эту проблему.
Пока у меня есть это
>>> t = [(123.0, 2), (12.3, 1), (1.23, 0), (0.1234, 0), (0.01234, -1), (0.000010101, -4)]
>>> dist = lambda x: str(float(x)).find('.') - 1
>>> [(x[1], dist(x[0])) for x in t]
[(2, 2), (1, 1), (0, 0), (0, 0), (-1, 0), (-4, 0)]