Python - 使用自定义价格单元解析字符串

Alo*_*kin 1 python string parsing

在Python中将字符串解析为int的最快方法是什么?该字符串可以包括自定义单位,例如"k"(千),"m"(百万)或"b"(十亿).

例如:

100  -> 100
100k -> 100000
100m -> 100000000
100b -> 100000000000
Run Code Online (Sandbox Code Playgroud)

谢谢.

Nic*_*sta 6

def convert(val):
    lookup = {'k': 1000, 'm': 1000000, 'b': 1000000000}
    unit = val[-1]
    try:
        number = int(val[:-1])
    except ValueError:
        # do something
    if unit in lookup:
        return lookup[unit] * number
    return int(val)

>>> print convert("100m")
>>> 100000000
Run Code Online (Sandbox Code Playgroud)

创建一个查找表,然后将数字拆分为数字部分和单位.如果单位部分存在,请查看我们的表格并使用它来创建最终数字.否则,返回号码.