如何将十亿或百万缩写的字符串转换为列表中的整数

Ken*_*ang 1 python string integer list

我有几个字符串项目,它们是列表中十亿或百万缩写的数字:

list = ["150M", "360M", "2.6B", "3.7B"]
Run Code Online (Sandbox Code Playgroud)

我想使用一种语法可以将这些字符串项转换为以千计的整数(例如 150M > 150,000, 3.7B> 3,700,000 ),谢谢

Jam*_*ent 5

你真的应该展示一些尝试自己解决问题的尝试,但这里有一个简单的例子:

multipliers = {'K':1000, 'M':1000000, 'B':1000000000}

def string_to_int(string):
    if string[-1].isdigit(): # check if no suffix
        return int(string)
    mult = multipliers[string[-1]] # look up suffix to get multiplier
     # convert number to float, multiply by multiplier, then make int
    return int(float(string[:-1]) * mult)

testvals = ["150M", "360M", "2.6B", "3.7B"]

print(list(map(string_to_int, testvals)))
Run Code Online (Sandbox Code Playgroud)