Jupyter Notebook中IndexError求助:恩德贝莱语转绍纳语翻译报错
解决恩德贝莱语-绍纳语翻译代码中的IndexError错误
问题根源
报错是因为你的translations字典里至少有一个条目对应的列表只有一个元素。当代码尝试访问索引[1](获取绍纳语翻译)时,该位置不存在,就触发了"列表索引越界"错误。
修复方案
方案一:在代码中添加安全检查
修改代码,先确认列表元素数量足够再访问索引1,既能避免报错,也能优雅处理缺失的翻译:
elif word in translations: ndebele_word = translations[word][0] print(f'\nNDEBELE: {ndebele_word}') # 检查是否存在绍纳语翻译 if len(translations[word]) >= 2: shona_word = translations[word][1] print(f'\nSHONA: {shona_word}') else: print("\nSHONA: 暂无对应翻译。") else: print("\n未找到对应翻译。")
方案二:检查并修正翻译字典
遍历你的translations字典,确保每个条目都是包含两个元素的列表(第一个是恩德贝莱语,第二个是绍纳语):
错误示例(会触发报错):
translations = { "sithi": ["我们说"] # 缺少绍纳语翻译 }
修正后示例:
translations = { "sithi": ["我们说", "tinoziva"] # 同时包含恩德贝莱语和绍纳语翻译 }
这样就能从根源上消除错误。
内容的提问来源于stack exchange,提问作者Hesed Nhete
相关产品推荐
相关产品推荐

