Python如何用字典完成匹配任务

 更新时间:2024年09月13日 09:34:18   作者:小猪崽子~  
在生物信息学领域,经常需要根据基因名称匹配其对应的编号,本文介绍了一种通过字典进行基因名称与编号匹配的方法,首先定义一个空列表存储对应编号,对于字典中不存在的基因名称,其编号默认为0

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)
        n = n+1

2.3 将匹配好的结果导出存为csv格式

# 导出到csv
data = np.vstack(gene,m)
df = pd.DataFrame(data)
df.to_csv('gene_match.csv')

csv文档截图如下,仅选取0-20gene展示结果,其中第18个gene rutr在gene_map中无匹配,故编号为0.

总结

匹配成功,撒花完结。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python中splitlines()方法的使用简介

    Python中splitlines()方法的使用简介

    这篇文章主要介绍了Python中splitlines()方法的使用简介,是Python入门中的基础知识,需要的朋友可以参考下
    2015-05-05
  • python引入其他文件夹下的py文件具体方法

    python引入其他文件夹下的py文件具体方法

    在本篇文章里小编给大家整理的是一篇关于python引入其他文件夹下的py文件具体方法,有兴趣朋友们可以跟着学习参考下。
    2021-05-05
  • python3+RobotFramework环境搭建过程

    python3+RobotFramework环境搭建过程

    之前用的python2.7+robotframework进行的自动化测试,python3的还没尝试,今天尝试了下,搭建环境的时候也是各种报错,今天给大家分享下python3+RobotFramework环境搭建过程,感兴趣的朋友一起看看吧
    2023-08-08
  • Jmeter如何使用BeanShell取样器调用Python脚本

    Jmeter如何使用BeanShell取样器调用Python脚本

    这篇文章主要介绍了Jmeter使用BeanShell取样器调用Python脚本,文章围绕Jmeter调用Python脚本的相关详情展开标题内容,需要的小伙伴可以参考一下
    2022-03-03
  • numpy中np.c_和np.r_的用法解析

    numpy中np.c_和np.r_的用法解析

    本文主要介绍了numpy中np.c_和np.r_的用法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-03-03
  • calendar在python3时间中常用函数举例详解

    calendar在python3时间中常用函数举例详解

    这篇文章主要介绍了calendar在python3时间中常用函数的相关文章,对此知识点有兴趣的朋友们可以学习下。
    2020-11-11
  • Python入门之集合的使用教程

    Python入门之集合的使用教程

    在Python中,集合(Set) 是一个无序、不重复的序列,它不支持索引。本文将通过示例为大家详细讲讲Python中集合是使用,需要的可以参考一下
    2022-09-09
  • Python numpy实现数组合并实例(vstack,hstack)

    Python numpy实现数组合并实例(vstack,hstack)

    这篇文章主要介绍了Python numpy实现数组合并(官网实例),涉及vstack,hstack的简单用法,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • python 递归深度优先搜索与广度优先搜索算法模拟实现

    python 递归深度优先搜索与广度优先搜索算法模拟实现

    这篇文章主要介绍了python 递归深度优先搜索与广度优先搜索算法模拟实现 ,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-10-10
  • Python实现位图分割的效果

    Python实现位图分割的效果

    目前网络上大多为用C++或者Matlab编写实现位图分割,所以本文将使用Python实现位图分割这一效果,代码简单易懂,感兴趣的小伙伴可以关注一下
    2021-11-11

最新评论