python删除最后一个字符和id

Mer*_*lin 0 python

我有清单

34.00B
65.89B
346M
Run Code Online (Sandbox Code Playgroud)

我需要

34.
65.89
.344
Run Code Online (Sandbox Code Playgroud)

那么,我如何删除最后一个字符,如果是B或M,则将M除以1000.

Mic*_*zek 6

我想你只想要这样的东西:

divisors = {'B': 1, 'M': 1000}
def fn(number):
    if number[-1] in divisors:
        return str(float(number[:-1]) / divisors[number[-1]])
    return number

map(fn, ['34.00B', '65.89B', '346M'])
Run Code Online (Sandbox Code Playgroud)

我将返回值转换回字符串,因为你的问题有点不清楚