读取文件 import sys fn = sys.argv[1] fi = open(fn,'r') chr_len = {} for line in infos: #还可以写成for line in fi 对句柄进行迭代 line = line.strip() #取消数据两端的空格。或者两端的数据。 infos2 = line.split('\t') #分割 chr_len[infos2[0]] =int(infos2[1]) 计算 简单信息:总长、条数、平均长度 n= len(chr_len) total_len = sum(chr_len.values()) mean_len =total_len/n 最长序列 sorted(chr_len.items(),key=lambda x:x[1],reverse=True) longest_id,longest_len = max(chr_len.items(),key=lambda x:x[1]) N50 思路,我们需要的是列表长度,先要从大到小排序, l =chr_len.values() #所有染色体长度 l = sorted(l,reverse=True) #从大到小排序 total_len = sum(l) n50 = 0 idx = 0 #用于存储变量n的值 cumsum = 0 for i,v in enumerate(l,start=