如何将从数组获取的语言字符串转为对应数字存入数据库?
语言字符串转对应数字实现方案
步骤1:将映射列表转为反向字典
原有的Languages列表是数字到字符串的映射,我们需要把它反转成字符串到数字的字典,这样能大幅提升查找效率:
Languages = [ (1,'en'), (2,'fr'), (3,'de') ] # 生成反向映射字典 lang_to_num = {lang: num for num, lang in Languages}
步骤2:获取并转换语言字符串
从row[2]拿到语言字符串后,直接通过字典查找得到对应的数字:
# 从数组中获取语言字符串 input_lang = row[2] # 转换为对应数字,用get()避免KeyError language = lang_to_num.get(input_lang, None)
- 使用
get()方法可以在遇到未定义的语言字符串时返回默认值(这里是None),你可以根据业务需求改成其他值,比如0或者抛出异常。
异常处理(可选)
如果需要严格校验语言字符串,可添加异常捕获:
try: language = lang_to_num[input_lang] except KeyError: # 处理未知语言的逻辑,比如打日志或设置默认值 print(f"未识别的语言代码:{input_lang}") language = 0 # 自定义默认值
内容的提问来源于stack exchange,提问作者haduki
相关产品推荐
相关产品推荐

