python(十):列表转换成字典
一、列表转换成字典
self.cat_list = [] with open(os.path.join(self.raw_data, "cat.txt")) as f: for line in f.readlines(): self.cat_list.append(line.strip()) self.label_dict = dict(zip(self.cat_list, range(len(self.cat_list))))
二、NLP生成字典
def remove_1a(content): # 去除标点字母数字 chinese = '[\u4e00-\u9fa5a-zA-Z0-9]+' str1 = re.findall(chinese, content) return ''.join(str1) def read_file(filename): """读取文件数据""" contents, labels = [], [] with open(filename, mode='r', encoding='utf-8', errors='ignore') as f: for line in f: try: label, content = line.split(" ") if content: content = remove_1a(content) contents.append(list(content)) labels.append(label) except: pass return contents, labels def build_vocab(train_dir, vocab_dir, vocab_size=5000): """根据训练集构建词汇表,存储""" data_train, _ = read_file(train_dir) all_data = [] for content in data_train: all_data.extend(content) counter = Counter(all_data) print(all_data) count_pairs = counter.most_common(vocab_size - 1) pairs = [] for i in count_pairs: if i[1] > 2: pairs.append(i) count_pairs = pairs words, _ = list(zip(*count_pairs)) # 添加一个 <PAD> 来将所有文本pad为同一长度 words = ['<PAD>'] + list(words) open(vocab_dir, mode='w', encoding='utf-8', errors='ignore').write('\n'.join(words) + '\n')
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧