Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python,字符串(由变量和字符串组成,连接起来)用作新变量名?_Python_Variables_Concatenation - Fatal编程技术网

Python,字符串(由变量和字符串组成,连接起来)用作新变量名?

Python,字符串(由变量和字符串组成,连接起来)用作新变量名?,python,variables,concatenation,Python,Variables,Concatenation,我一直在研究这个问题,但我对如何具体做我想做的事情有点欠缺。。我想关联一个字符串(我想在本例中它应该是一个字符串,因为它有一个变量和字符串),如下所示,其中我需要使用一个由字符串组成的变量来调用一个具有索引的列表名(来自另一个变量)。。我简化了下面的代码,只显示了相关部分,即替换值的宏的一部分: toreplacetype = 'type' toreplace_indx = 5 replacement_string = 'list'+toreplacetype[toreplace_indx]

我一直在研究这个问题,但我对如何具体做我想做的事情有点欠缺。。我想关联一个字符串(我想在本例中它应该是一个字符串,因为它有一个变量和字符串),如下所示,其中我需要使用一个由字符串组成的变量来调用一个具有索引的列表名(来自另一个变量)。。我简化了下面的代码,只显示了相关部分,即替换值的宏的一部分:

toreplacetype = 'type'
toreplace_indx = 5
replacement_string = 'list'+toreplacetype[toreplace_indx]
所以。。。我试图使最后一行上的字符串等于实际变量名:

replacement_string = listtype[5]
任何关于如何做的建议都将不胜感激

编辑:


为了进一步解释,这是一个类似于模板系统的宏,我在python脚本中指示要用特定值替换的内容,所以我使用regex来完成这项工作。因此,当我匹配某个内容时,我希望能够从列表中的特定值替换它,但是,例如,在模板中我有{type},所以我提取了它,但是我需要如上所述操作它,以便我可以使用提取的值“type”从列表中调用特定值(例如从名为“listtype”的列表中)(有不止一个列表,所以我需要找到一个名为“listtype”的列表,所以我只想根据我使用regex提取的值,如上所述进行连接以获得该列表。不建议这样做。请改用dict

vars['list%s' % toreplacetype][5] = ...
打印时将生成listtype[5]

基本上,您需要将它分成5部分:1个字符串变量、3个字符串和一个转换为字符串的int

我想这就是你要问的?

人力资源管理

globals()['list%s'% toreplacetype][toreplace_indx]

我想我应该对此多提一点…(我将在上面进行编辑以作进一步解释)…我希望这样:'list'+torereplacetype[torereplace_indx]等于listtype的变量名[5]您能再详细说明一下吗,我不确定我如何使用它来调用列表,例如一个名为“listtype”(带index5)的列表
vars={};vars['listtype'] = []
我想我只是不明白这与我的问题有什么关系,我非常感谢你在这方面的帮助Rick,我想Ignacio说的是,你可以创建一个字典键
listtype
,具有实际列表的值。这将意味着不太模糊的解决方法。现在我玩得越多,我就明白Ignacio的意思了这似乎是最简单的方法,我只是想重新思考一下我在用字典的方式做什么谢谢你给我指出了正确的方向ignacio然后tim澄清了这一点以便我可以对itOk采取行动,这类事情似乎又回到了globals()或locals()中对我来说,我想在python中,这是做这类事情的方法,我将更深入地研究全局,然后了解它的细节
globals
只返回全局范围内的对象。我建议使用Ignacio的方法,因为它避免了全局名称空间。我试图确定Ignacio下面的方法,是吗s是否正确:vars={'list':'list'+toreplacetype};replacement_string=vars['list'][5]?
globals()['list%s'% toreplacetype][toreplace_indx]