将每年bi bi的字符串转换为python中的整数

时间:2018-05-24 06:30:41

标签: python python-3.x

我有两年一次的字符串(一年2次)或三年一次或每年一次,如果满足条件,我想分配一个括号内的值。

For example. lets say, `Frq = bi annual` , so i want to assign value 2 to frq.
If `frq = tri annual`, i want to assign value 3 to frq.

知道我怎么能这样做吗?

PS。我不想用if。我想要包含{'bi annual' : 2,'annual' :1}的类似dict的东西,如果满足条件并从frq中获取值,则从这些dict获取值。

2 个答案:

答案 0 :(得分:1)

您可能需要这样的地图字典:

map_dict = {'bi annual' : 2, 'annual' :1}

frq = 'bi annual'
frq = map_dict[frq]
# frq is now 2

更安全的方法是使用get。这可以保证,如果值与key中的map_dict不匹配,则保留原始值:

frq = 'bi annual'
frq = map_dict.get(frq, frq)

答案 1 :(得分:1)

d = {'bi annual' : 2,'annual' :1, 'tri annual' :3}

s = 'Frq = bi annual'

sub = s.split('=')[1].strip()

frq = d[sub]

frq
2