首页 > 解决方案 > 有没有办法在 Python 中使用两个变量来创建变量名?

问题描述

是的,我被告知“坏主意”,如果所说的话实际上似乎符合我的要求,我很乐意使用另一种解决方案。

想要为基因组分析创建一堆变量,但多次这样做似乎很愚蠢。我想做这样的事情:

aa = expr

ac = expr

ag = expr

在 = expr

ca = expr

.

.

.

tt = expr

每个表达式本质上相似,但使用它们各自的字母(即 cg 使用 c 和 g)作为变量。我需要这些作为更多方程中的变量进行进一步分析并打印它们。

从我刚刚在 C 中完成的一个项目中,我将其设置为两个循环,一个嵌套在另一个循环中,链接到一个数组保存 (acgt) 并使用指针......或类似的东西。

如果有人能带领我走上正确的道路,那就太好了。每个人都在喊“字典!”,但我不确定这是否适用于此。如果是这样,我真的不了解如何正确使用它们。

标签: python

解决方案


首选方法是使用字典 - 其中键是字符串,因此是数据。字典的内容data["ac"] = expr可以像访问单个变量一样被访问,但字符串"ac"本身可以在变量中(或任何表达式)。

使用 Python 的高级自省技术创建具有动态名称的“真实”变量是可行的,但是您必须使用相同的精湛技术来检查变量是否存在,并再次使用其内容。

相信关于这个的说法:你想使用字典。

data = {}   # empty dict

for firstletter in "acgt":
   for secondletter in "acgt":
      data[firstletter + secondletter] = expr



推荐阅读