Python如何用字典完成匹配任务
目录
- 1. 问题描述
- 2. 解决方案
- 2.1 定义变量
- 2.2 匹配gene对应的编号
- 2.3 将匹配好的结果导出存为csv格式
- 总结
1. 问题描述
如下左图为编号与gene名称的对应关系(此处仅显示前10条),已存为字典(map_gene)
右图为我们需要去匹配的gene名称,如何根据基因名称给出对应的编号?
2. 解决方案
2.1 定义变量
首先,我们定义一个空的list来存储gene对应的编号,且因部分gene在字典map_gene中不存在,故需记录可匹配到的个数。
# 定义变量 m = [] # 存储对应编号的list t = 0 # 记录map_gene中可以匹配到的gene个数 n = 0 # 记录map_gene中不存在的gene个数
2.2 匹配gene对应的编号
# 遍历gene列表,若在map_gene中可匹配到,则保存对应编号;否则返回0. for i in range(len(gene)): if gene[i]编程客栈 in map_gene.keys(): m.append(map_gene[gene[i]]) t = t+1 else: m.append(0) php n = n+1
2.3 将匹配好的结果导出存为csv格式
# 导出到csv data = np.vstack(gene,m) df = pd.DataFramandroide(data) df.to_cwww.devze.comsv('gene_match.csv')
csv文档截图如下,仅选取0-20gene展示结果,其中第18个gene rutr在gene_map中无匹配,故编号为0.
总结
匹配成功,撒花完结。
以上为个人经验,希望能给大家一www.devze.com个参考,也希望大家多多支持编程客栈(www.devze.com)。
精彩评论