是的,我被告知“不好的主意”,如果说的话似乎确实可以满足我的要求,我很乐意使用其他解决方案。
想创建一堆用于基因组分析的变量,但多次执行似乎很愚蠢。我想做这样的事情:
aa = expr
ac = expr
ag = expr
at = expr
ca = expr
。
。
。
tt = expr
每个表达式本质上都是相似的,但是使用它们各自的字母(即cg使用c和g)作为变量。我需要这些元素作为更多方程式中的变量进行进一步分析并打印出来。
在我刚刚用C语言完成的一个项目中,我将其设置为两个循环,一个循环嵌套在另一个循环中,链接到保存(acgt)的数组并使用指针...之类。 / p>
如果有人可以带领我走上正确的道路,那就太好了。每个人都在大喊“字典!”,但我不确定这是否适用。如果是这样,我不是很了解如何正确使用它们。
答案 0 :(得分:6)
首选方法是使用字典-其中的键是字符串,因此是数据。可以像访问单个字典一样完全访问字典data["ac"] = expr
的内容,但是字符串"ac"
本身可以位于变量(或任何表达式)中。
通过使用Python的高级自省技术创建具有动态名称的“真实”变量是可行的,但是随后您必须使用相同的精湛技术来检查变量是否存在,并再次使用其内容。
相信这句话:您想使用字典。
data = {} # empty dict
for firstletter in "acgt":
for secondletter in "acgt":
data[firstletter + secondletter] = expr
答案 1 :(得分:2)
尽管确实可以通过编程方式命名变量,但是除非您确实确实需要此功能,否则这是一个非常糟糕的主意。你没有。
人们大喊“字典”,建议您创建一个dictionary,expressions = dict()
。现在,您可以按字符串在expressions
中查找条目,例如expressions["aa"] = 1.0
,等等。