Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/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_Loops - Fatal编程技术网

在python中,我们应该如何通过循环内的索引引用它们的标记化名称来获取实际实例

在python中,我们应该如何通过循环内的索引引用它们的标记化名称来获取实际实例,python,loops,Python,Loops,所以我尝试循环遍历一个列表名列表,并尝试通过索引为其元素赋值 但问题是在循环中,它被称为字符串文字,而不是抛出错误的列表。下面是我正在处理的代码片段 placeholder_list=["cat_list","cat_list"] for i in range(len(list_Col)): specific_function_output placeholder_list[i][int(index)]=specific_function_outp

所以我尝试循环遍历一个列表名列表,并尝试通过索引为其元素赋值

但问题是在循环中,它被称为字符串文字,而不是抛出错误的列表。下面是我正在处理的代码片段

    placeholder_list=["cat_list","cat_list"]
    for i in range(len(list_Col)):
        specific_function_output
        placeholder_list[i][int(index)]=specific_function_output
问题出现在这一步: python将占位符列表[i]解释为
“cat\u list”
,我所期望的是

cat_list[int(index)] 
但它实际上被视为
“cat_list”[int(index)]
,这是一般错误的根源

TypeError: 'str' object does not support item assignment
这可能有一个非常简单的解决方案,但我正在努力找到一个解决方案。 此外,对背景的技术术语或细节不太熟悉也无济于事


一般来说,对于编程,我们应该如何通过循环中的索引引用它们的标记化名称来获取实际实例——这就是我如何概念化问题的方法。不过,我可能还是遗漏了一些技术细节

用字典就行了。不管怎么说,这都是非常脆弱的,这表明你把事情安排得很尴尬。如果您在某个时候更改
cat_列表
变量名,而忘记更新所有字符串,那么最终会出现奇怪的错误。可能有一种更好的方法来做你想做的事情。与松散相关。谢谢你的投入。然而,在目前的情况下,我偶然发现了这个线程[link](),尤其是
eval()
函数似乎完成了我所期望的功能。尽管这是一个非常糟糕的解决方案。它将比任何其他解决方案慢得多,并且如果您正在评估的字符串包含从程序外部获取的任何信息,则可能会导致安全问题。再次强调,重新思考如何安排事情是一个更好的主意。重构在短期内是一件痛苦的事情,但从长远来看,它可以拯救你。
eval(占位符列表[i])[int(索引)]=specific\u function\u output
这就是我所做的修改——你认为它很慢是对的。但对于这个特定的项目,我可能不会比这更进一步,但是作为一个原则,您所说的关于使用字典的内容也是我的首选。