python删除最后一个字符和id

时间:2010-09-12 17:18:48

标签: python

我有

列表
34.00B
65.89B
346M

我需要

34.
65.89
.344

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

2 个答案:

答案 0 :(得分: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'])

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

答案 1 :(得分:2)

不确定我是否清楚地理解了这个问题,下面的代码删除了最后一个字符并返回值的float(如果最后一个字符为'M'则除以1000)。

lst=[
    "34.00B",
    "65.89B",
    "346M"
]

lst=map(lambda x: float(x[:-1]) if x[-1]=='B' else float(x[:-1])/1000, lst)
print lst