如何用一行代码创建字典变量?基于BeautifulSoup的数据转换求助
解决方法
出现IndexError的原因是你的二维列表里存在长度不足2的元素(比如空列表、仅包含单个元素的列表),导致访问el[1]时超出索引范围。
可以在字典推导式中加入条件判断,只处理包含至少2个元素的子列表,一行代码实现:
words = {str(el[0]): str(el[1]) for el in words if len(el) >= 2}
如果还需要排除子列表元素为空的情况,可以进一步细化条件:
words = {str(el[0]).strip(): str(el[1]).strip() for el in words if len(el) >= 2 and el[0].strip() and el[1].strip()}
这样就能得到符合要求的{英文单词:日文翻译}格式字典,同时避免索引越界错误。
内容的提问来源于stack exchange,提问作者Hero8
相关产品推荐
相关产品推荐

