以人类染色体个数为例:
通过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)