You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python中使用字典将年度频次字符串转换为整数

用字典映射实现频率字符串到数值的转换

这完全是字典的拿手好戏,完美避开if分支的繁琐!直接通过键值对映射就能搞定,步骤超简单:

1. 定义映射字典

先把所有需要转换的频率字符串和对应数值一一对应存进字典里,覆盖你提到的所有情况:

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

2. 直接通过字典取值赋值

拿到输入的Frq变量后,直接用字典的键来获取对应数值,赋值给frq

# 示例输入
Frq = 'tri annual'
# 取值赋值
frq = frequency_map[Frq]
print(frq)  # 输出:3

3. 处理未匹配的情况(可选)

如果担心输入的字符串不在字典里会抛出KeyError,可以用字典的get()方法,还能设置默认值:

# 当Frq不在字典中时,返回默认值1(或者你需要的其他值)
frq = frequency_map.get(Frq, 1)

# 或者返回None,后续可以自己处理异常情况
frq = frequency_map.get(Frq, None)

额外优化:大小写不敏感匹配

如果输入的字符串可能有大小写差异(比如Bi AnnualTRI ANNUAL),可以先把输入统一转为小写再匹配:

Frq = 'Bi Annual'
frq = frequency_map.get(Frq.lower(), 1)

这样就完全满足你的需求啦,代码简洁还易维护,后续要加新的频率类型,直接往字典里加键值对就行~

内容的提问来源于stack exchange,提问作者dhinar1991

火山引擎 最新活动