python - 有没有办法在 Python 中使用两个变量来创建变量名?
问题描述
是的,我被告知“坏主意”,如果所说的话实际上似乎符合我的要求,我很乐意使用另一种解决方案。
想要为基因组分析创建一堆变量,但多次这样做似乎很愚蠢。我想做这样的事情:
aa = expr
ac = expr
ag = expr
在 = expr
ca = expr
.
.
.
tt = expr
每个表达式本质上相似,但使用它们各自的字母(即 cg 使用 c 和 g)作为变量。我需要这些作为更多方程中的变量进行进一步分析并打印它们。
从我刚刚在 C 中完成的一个项目中,我将其设置为两个循环,一个嵌套在另一个循环中,链接到一个数组保存 (acgt) 并使用指针......或类似的东西。
如果有人能带领我走上正确的道路,那就太好了。每个人都在喊“字典!”,但我不确定这是否适用于此。如果是这样,我真的不了解如何正确使用它们。
解决方案
首选方法是使用字典 - 其中键是字符串,因此是数据。字典的内容data["ac"] = expr
可以像访问单个变量一样被访问,但字符串"ac"
本身可以在变量中(或任何表达式)。
使用 Python 的高级自省技术创建具有动态名称的“真实”变量是可行的,但是您必须使用相同的精湛技术来检查变量是否存在,并再次使用其内容。
相信关于这个的说法:你想使用字典。
data = {} # empty dict
for firstletter in "acgt":
for secondletter in "acgt":
data[firstletter + secondletter] = expr