我有两年一次的字符串(一年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获取值。
答案 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