以人类染色体个数为例:

通过range()函数快速生成一系列整数,将其一列表的形式存储;对其进行扩展;然后修改列表中的元素(染色体id),生成Chr_形式

cmd终端python代码如下:

 1 >>> chr = list(range(1,23)) # 生成包含22条常染色体的数值的列表
 2 >>> print(chr) # 打印查看上述生成的列表
 3 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]
 4 >>> chr.extend(['X','Y','M']) # 添加性染色体以及线粒体染色体编号
 5 >>> print(chr) # 打印查看扩展后的列表
 6 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 'X', 'Y','M']
 7 >>> new_chr = [] # 定义一个新的空的接收列表
 8 >>> # 方法一:通过for循环将列表里的元素修改为"Chr_1"的形式
9 ... 10 >>> for i in chr: 11 ... new_chr.append('Chr_' + str(i)) 12 ... 13 >>> print(new_chr) 14 ['Chr_1', 'Chr_2', 'Chr_3', 'Chr_4', 'Chr_5', 'Chr_6', 'Chr_7', 'Chr_8', 'Chr_9', 'Chr_10', 'Chr_11', 'Chr_12', 'Chr_13', 'Chr_14', 'Chr_15', 'Chr_16', 'Chr_17', 'Chr_18', 'Chr_19', 'Chr_20', 'Chr_21', 'Chr_22', 'Chr_X', 'Chr_Y','Chr_M'] 15 >>> # 方法二:通过一行命令直接修改 16 ... 17 >>> chr_ID = ['Chr_' + str(i) for i in chr] 18 >>> print(chr_ID) 19 ['Chr_1', 'Chr_2', 'Chr_3', 'Chr_4', 'Chr_5', 'Chr_6', 'Chr_7', 'Chr_8', 'Chr_9', 'Chr_10', 'Chr_11', 'Chr_12', 'Chr_13', 'Chr_14', 'Chr_15', 'Chr_16', 'Chr_17', 'Chr_18', 'Chr_19', 'Chr_20', 'Chr_21', 'Chr_22', 'Chr_X', 'Chr_Y','Chr_M']

用VSCode编写python

 1 chr = list(range(1,23)) # 生成包含22条常染色体的数值的列表
 2 chr.extend(['X','Y','M']) # 添加性染色体以及线粒体染色体编号
 3 new_chr = [] # 定义一个新的空的接收列表
 4 # 方法一:通过for循环将列表里的元素修改为"Chr_1"的形式
 5 for i in chr:
 6     new_chr.append('Chr_' + str(i))
 7 print(new_chr)
 8 # 方法二:通过列表生成式(由“操作”+“循环”+“条件”三部分组成)
 9 chr_ID = ['Chr_' + str(i) for i in chr]
10 print(chr_ID)
11 # 如果不想分析线粒体染色体
12 chr_ID = ['Chr_' + str(i) for i in chr if i != 'M']
13 print(chr_ID)
14 # 如果只想分析常染色体
15 chr_ID = ['Chr_' + str(i) for i in chr if isinstance(i,int)] # isinstance()函数用于判断某一个变量是不是某种数据类型
16 print(chr_ID)

 

posted on 2019-05-09 09:57  caicai2019  阅读(288)  评论(0编辑  收藏  举报