首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何打印变量名

如何打印变量名
EN

Stack Overflow用户
提问于 2013-09-30 05:58:02
回答 3查看 211关注 0票数 1

我设计了一个代码来计算“CG”出现在字符串中的百分比;GC_content(DNA)。

现在我可以使用这段代码,这样它就可以打印GC含量最高的字符串的值;

代码语言:javascript
复制
print (max((GC_content(DNA1)),(GC_content(DNA2)),(GC_content(DNA3)))).

现在,我如何打印这个最大GC_content的变量名?

EN

回答 3

Stack Overflow用户

发布于 2013-09-30 06:01:02

您可以获取一些元组的max

代码语言:javascript
复制
max_content, max_name = max(
    (GC_content(DNA1), "DNA1"),
    (GC_content(DNA2), "DNA2"),
    (GC_content(DNA3), "DNA3")
)

print(max_name)
票数 5
EN

Stack Overflow用户

发布于 2013-09-30 06:15:27

如果你有很多DNA变量,你可以把它们放在一个列表中

代码语言:javascript
复制
DNA_list = [DNA1, DNA2, DNA3]

我会强迫它们放入字典中,以便将名称与原始数据和结果关联起来。

代码语言:javascript
复制
DNA_dict = dict([("DNA%i" % i, {'data': DNA, 'GC': GC_Content(DNA)}) for i, DNA in enumerate(DNA_list)])

然后列出理解以获得您想要的数据

代码语言:javascript
复制
name = max([(DNA_dict[key]['GC'], key) for key in DNA_dict])[1]

这样做的好处是允许列表长度可变

票数 1
EN

Stack Overflow用户

发布于 2013-09-30 06:29:04

你似乎想要

代码语言:javascript
复制
max([DNA1, DNA2, DNA3], key=GC_content)

这不是你所要求的,但它似乎是你所需要的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19083776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档