我设计了一个代码来计算“CG”出现在字符串中的百分比;GC_content(DNA)。
现在我可以使用这段代码,这样它就可以打印GC含量最高的字符串的值;
print (max((GC_content(DNA1)),(GC_content(DNA2)),(GC_content(DNA3)))).现在,我如何打印这个最大GC_content的变量名?
发布于 2013-09-30 06:01:02
您可以获取一些元组的max:
max_content, max_name = max(
(GC_content(DNA1), "DNA1"),
(GC_content(DNA2), "DNA2"),
(GC_content(DNA3), "DNA3")
)
print(max_name)发布于 2013-09-30 06:15:27
如果你有很多DNA变量,你可以把它们放在一个列表中
DNA_list = [DNA1, DNA2, DNA3]我会强迫它们放入字典中,以便将名称与原始数据和结果关联起来。
DNA_dict = dict([("DNA%i" % i, {'data': DNA, 'GC': GC_Content(DNA)}) for i, DNA in enumerate(DNA_list)])然后列出理解以获得您想要的数据
name = max([(DNA_dict[key]['GC'], key) for key in DNA_dict])[1]这样做的好处是允许列表长度可变
发布于 2013-09-30 06:29:04
你似乎想要
max([DNA1, DNA2, DNA3], key=GC_content)这不是你所要求的,但它似乎是你所需要的。
https://stackoverflow.com/questions/19083776
复制相似问题