Python中如何自动化处理长词汇列表并实现双语词汇批量配对
词汇学习程序开发问题解决方案
纯文本词汇列表自动转换分割
只要你的词汇文本有统一的分隔规则,不需要手动添加引号、逗号,直接用Python字符串内置方法处理即可:
- 若词汇是每行1个的格式:
# 直接把复制的文本粘贴为多行字符串,前后用三个引号包裹 raw_spanish_text = """casa perro gato libro """ # 去除首尾空白后按行分割,直接得到词汇列表 spanish_words = raw_spanish_text.strip().splitlines()
- 若词汇是同一行用空格/制表符/特定符号分隔:
# 示例为逗号分隔的情况,替换split的参数即可适配其他分隔符 raw_text = "casa,perro,gato,libro" spanish_words = [word.strip() for word in raw_text.split(",")]
双列表按索引配对生成Vocabulary实例列表
你之前写的列表推导式存在语法错误、遍历逻辑错误的问题,用Python内置的zip()函数即可实现等长列表的对应索引元素配对,正确写法如下:
# zip()会将两个列表的对应位置元素打包成元组,遍历取出每一对元素传入类构造函数 vocabs = [Vocabulary(es_word, de_word) for es_word, de_word in zip(spanish_word, german_word)]
如果需要严格校验两个列表长度完全一致(避免长度不同导致漏配对),Python 3.10及以上版本可以开启strict参数:
vocabs = [Vocabulary(es_word, de_word) for es_word, de_word in zip(spanish_word, german_word, strict=True)]
内容的提问来源于stack exchange,提问作者user15967184
相关产品推荐
相关产品推荐

