如何用Python生成包含所有西班牙语单词的列表
生成西班牙语单词列表的Python方案
方法1:借助NLTK库的西班牙语语料
先安装依赖:
pip install nltk
然后通过代码提取单词:
import nltk from nltk.corpus import cess_esp # 下载西班牙语语料库 nltk.download('cess_esp') # 提取单词并去重排序 spanish_words = list(set(cess_esp.words())) spanish_words.sort() # 可选:保存到本地文件 with open('spanish_words.txt', 'w', encoding='utf-8') as f: f.write('\n'.join(spanish_words))
cess_esp是NLTK内置的西班牙语标注语料,覆盖大量常用词,适合基础需求。
方法2:读取系统自带的西班牙语字典
Linux/macOS通常自带西班牙语字典文件,直接读取即可:
# 路径按需调整,macOS可能是/usr/share/dict/spanish with open('/usr/share/dict/spanish', 'r', encoding='utf-8') as f: spanish_words = [line.strip() for line in f if line.strip()] # 去重排序 spanish_words = list(set(spanish_words)) spanish_words.sort()
这个字典的单词覆盖更全,包含不少生僻词和变体。
方法3:过滤整理单词
如果需要更干净的列表,可以加过滤规则,比如只保留纯字母(含西班牙语特殊字符):
import re # 假设已经有了初始的spanish_words列表 filtered_words = [] for word in spanish_words: # 匹配西班牙语合法字符:字母、重音、ñ/Ñ if re.match(r'^[a-zA-ZáéíóúüñÁÉÍÓÚÜÑ]+$', word): filtered_words.append(word.lower()) filtered_words = list(set(filtered_words)) filtered_words.sort()
内容的提问来源于stack exchange,提问作者Pietro
相关产品推荐
相关产品推荐

