将字符串转换为变量[python]

2024-09-29 23:33:08 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的程序中,我有一个需要根据变量内容访问的列表列表。在

string = [
         [arg1, arg2, arg3],
         [arg1, arg2, arg3]
         ]

string2 = [
          [arg1, arg2, arg3],
          [arg1, arg2, arg3]
          ]

但是,这将始终是一个字符串。在

^{pr2}$

我访问列表的代码是

newVariable = Class.variable[seperateVariable][0]

但是,这会导致错误

IndexError: string index out of range

我已经找到原因是因为类变量是一个字符串而不是一个变量。在

解决这个问题的最佳缩放方式是什么?在


Tags: 字符串代码程序内容列表stringvariablearg3
3条回答

如果Class.variable真的需要一个字符串(例如,因为它是用户输入),那么最好使用字典:

strings = { "string": [[arg1, arg2, arg3],[arg1, arg2, arg3]], 
            "string2": [[arg1, arg2, arg3],[arg1, arg2, arg3]] }

现在您可以访问strings[separateVariable][0]。在

(在您的示例中,您试图访问"string"[separateVariable][0],但由于{}的足够高的值而失败)。在

根据“string1”的定义位置,可以使用builtins globals()或locals(),这样您就可以:

Class.variable = locals()['string']

将字符串分配给类变量时,请删除引号。另外,请避免与隐式类型或模块发生名称冲突

Class.variable = string1

引用变量时,它实际上被视为字符串而不是变量。因此,变量的实际内容从未分配给Class变量。在

相关问题 更多 >

    热门问题