Skip to main content
 首页 » 编程设计

Python字符串解析名字和数字

2025年05月04日24thcjp

我必须解析一个数据源:

my_string = "Alex - 30% / Bob - 23.33%" 

这里 my_string 包含两个名字,但也可以是一个人或三个人。

我想获得一个将名称映射到值的字典:

result = {'Alex': 30, 'Bob': 23.33} 

我尝试了多种方法,例如正则表达式和拆分字符串,但我似乎无法破解这个。

请您参考如下方法:

使用re.findall():

>>> import re 
>>> my_string = "Alex - 30% / Bob - 23.33%" 
>>> r = re.findall(r'([a-zA-Z]*) - (\S+)%', my_string) 
>>> r 
[('Alex', '30'), ('Bob', '23.33')] 

然后你可以创建一个字典:

>>> result = {name:float(val) for name,val in r} 
>>> result 
{'Alex': 30.0, 'Bob': 23.33}